2011-08-24 39 views
6

对于我写的Cocoa应用程序,我想支持主文档内容右侧的面板,用户可以在其中为当前选定的文档内容添加备注。 (如果您熟悉Microsoft Word或Scrivener,则此功能类似于这些应用程序中的注释功能。)Scrivener在文本字段大小适合默认文本的情况下做了很好的工作,然后随着用户的增长而增长键入它。我想为我的Cocoa应用程序实现相同的行为。如何让用户输入Cocoa NSTextView的数量增长?

什么是基本策略?

+1

你有什么尝试?你看过NSTextView类的引用,包括它的超类吗?你的答案*就是*。 –

+0

找到任何答案或解决方案? –

回答

0

有委托方法,让您捕捉到实际的按键,因为他们进来,

落实以下的委托方法辞职第一响应,基于键盘

-(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?

所以,如果你把击键识别与动态调整大小,你应该有它!