对于我写的Cocoa应用程序,我想支持主文档内容右侧的面板,用户可以在其中为当前选定的文档内容添加备注。 (如果您熟悉Microsoft Word或Scrivener,则此功能类似于这些应用程序中的注释功能。)Scrivener在文本字段大小适合默认文本的情况下做了很好的工作,然后随着用户的增长而增长键入它。我想为我的Cocoa应用程序实现相同的行为。如何让用户输入Cocoa NSTextView的数量增长?
什么是基本策略?
对于我写的Cocoa应用程序,我想支持主文档内容右侧的面板,用户可以在其中为当前选定的文档内容添加备注。 (如果您熟悉Microsoft Word或Scrivener,则此功能类似于这些应用程序中的注释功能。)Scrivener在文本字段大小适合默认文本的情况下做了很好的工作,然后随着用户的增长而增长键入它。我想为我的Cocoa应用程序实现相同的行为。如何让用户输入Cocoa NSTextView的数量增长?
什么是基本策略?
有委托方法,让您捕捉到实际的按键,因为他们进来,
落实以下的委托方法辞职第一响应,基于键盘
-(BOOL)textFieldShouldReturn:(UITextField *)textfield
实现以下代表方法来检测焦点何时返回给TextField。您可能还需要执行当前文本删除,或保留,这是已经存在的文本,如果你想
-(void)textFieldDidBeginEditing:(UITextField *)textfield
实现以下委托方法来检测字符(S)输入并在那里(基于插入符号位置),而且基本上字符添加到您的私人持有和显示的字符串(显示出你的文本框是)
-(BOOL)textView:(NSTextView *)aTextView shouldChangeTextInRange:(NSRange)affectedCharRange replacementString:(NSString *)replacementString
落实以下的委托方法检测时,编辑完成,这样就可以执行任何其他清理等等...你想要做的。
-(void)textFieldDidEndEditing:(UITextField *)textField
我会尽快给你对你的TextView本身的动态调整大小,但(至少在iOS)作为我见过有一个解决方案,并在一个点上我已经用它。基本上你的字体大小是静态的,可能是你的宽度是静态的,然后根据你有多少行来编辑你的高度,或者你可以保持你的高度是静态的,并根据字符等改变你的宽度。
以下是有关动态调整大小大组在计算器上的反应 How do I size a UITextView to its content?
所以,如果你把击键识别与动态调整大小,你应该有它!
自定义非NSScrollView嵌入式NSTextView可以做到这一点。在这里看到我的答案How do I make NSTextView grow with text?。
你有什么尝试?你看过NSTextView类的引用,包括它的超类吗?你的答案*就是*。 –
找到任何答案或解决方案? –