UITextView中的多行TextField(类似于SMS)和/或"完成"按钮

Ano*_*ing 6 iphone uitextfield uitextview

我已经研究了几天了,并希望得到一些帮助.有没有办法在SMS应用程序中生成像Apple一样的多行UITextField?关于这个控件的有用之处在于它具有"沉没"外观,清楚地表明它是一个文本输入框,但同时,它扩展了每个新行字符.

如果不这样做,如果我被迫使用UITextView,任何人都可以建议如何最好地解雇键盘?'完成'和'开始'按钮似乎都会生成换行符('\n').这对我来说似乎是错的 - 当然至少其中一个应该生成一个不同的角色,这样我仍然可以允许换行符,但也可以在特定按键上关闭我的键盘.

我错过了一些简单的东西吗?

提前致谢 :)

Han*_*ers 9

也许你可以建立我写的课程?它与tttexteditor相同,没有丑陋的故障:http://www.hanspinckaers.com/multi-line-uitextview-similar-to-sms


Chr*_*ong 2

Facebook 发布了一个名为Three20的开源软件包,它具有多行文本字段。您可以轻松地将其用于扩展文本字段。

至于“完成”按钮,您可以将视图控制器设置为UITextFieldDelegate. 然后使用这个方法:

 - (BOOL)textFieldShouldReturn:(UITextField *)textField {
     // Do whatever you want for your done button
      return YES;
 }
Run Code Online (Sandbox Code Playgroud)

对于 Three20,请使用以下方法TTTextEditorDelegate

 - (BOOL)textFieldShouldReturn:(TTTextEditor *)textField {
     // Do whatever you want for your done button
      return YES;
 }
Run Code Online (Sandbox Code Playgroud)

  • 私有 API 引用早已从 Three20 中删除(请参阅 2009 年 11 月 17 日的更改列表)。正如去年 12 月的 iPhone 技术演讲世界巡演中向我解释的那样,任何最终不使用的代码都会从发布二进制文件中删除。请参阅 Xcode 构建系统指南(iPhone OS 参考库的一部分)中的“死代码剥离”。 (2认同)