Kae*_*ure 6 cocoa textbox objective-c nstextview
对于我正在编写的Cocoa应用程序,我想支持主文档内容右侧的面板,用户可以在其中添加当前所选文档内容的注释.(如果您熟悉Microsoft Word或Scrivener,此功能类似于这些应用程序中的注释功能.)Scrivener可以很好地开始使用大小适合默认文本的文本字段,然后随着用户增长更高键入它.我想为我的Cocoa应用程序实现相同的行为.
什么是基本策略?
有一些委托方法可以让您捕获实际的击键。
实现以下委托方法以基于键盘退出第一响应者
-(BOOL)textFieldShouldReturn:(UITextField *)textfield
Run Code Online (Sandbox Code Playgroud)
实现以下委托方法来检测焦点何时返回到 TextField。您可能还想删除当前文本,或者保留已经存在的文本(如果您愿意)
-(void)textFieldDidBeginEditing:(UITextField *)textfield
Run Code Online (Sandbox Code Playgroud)
实现下面的委托方法来检测输入的字符和位置(基于插入符位置),并将字符添加到您私有和显示的字符串中(显示到您的文本字段)
-(BOOL)textView:(NSTextView *)aTextView shouldChangeTextInRange:(NSRange)affectedCharRange replacementString:(NSString *)replacementString
Run Code Online (Sandbox Code Playgroud)
实现下面的委托方法来检测编辑何时完成,以便您可以执行您想要执行的任何其他清理等操作。
-(void)textFieldDidEndEditing:(UITextField *)textField
Run Code Online (Sandbox Code Playgroud)
我会回复你有关 TextView 本身的动态大小调整的问题,但我已经看到(至少在 iOS 上)有一个解决方案,并且我曾经使用过它。您基本上将使您的字体大小静态,可能您的宽度静态,然后根据您有多少行编辑您的高度,或者您可以保持您的高度静态,并根据字符更改您的宽度,等等......由您决定。
以下是 StackOverflow 上关于动态调整大小的一组很棒的回复: 如何根据其内容调整 UITextView 的大小?
因此,如果您将击键识别与动态大小调整结合起来,您就应该拥有它!
| 归档时间: |
|
| 查看次数: |
509 次 |
| 最近记录: |