2010-04-30 175 views
0

我很难在UITextView中捕获退格按钮。 我想捕捉它的方法Capture Backspace,这是一个好的解决方案吗?

- (BOOL)textView:(UITextView *)textView 
     shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text 

我觉得还好,做这样的。

if([text isEqualToString:@"\b") { // code ... } 

但由于某些原因,当退格被按下时,'text'为空。
我知道我可以比较UITextView的长度,但它不是我想要实现的。

所以我找到了解决办法。 如果我查看'[文本长度]',则默认键盘上的每个键都会返回> 0。除了退格键之外的每个键都是0.这样我知道什么时候退格键被按下。
我做这个检查。

if([text lenght] == 0) { // BACKSPACE PRESSED   } 

您对此有何评论? - 或者我能以更好的方式做到吗?

编辑:正如大卫Gelhar告诉我,这将无法正常工作CUS将触发([文本长度] == 0)以及。

任何人都可以在这里指出我正确的方向?

问候。 - 马丁

+0

你想要什么来实现呢? – progrmr 2010-04-30 14:39:40

+0

我有一个TableView每行包含一个TextView。当第一行的TextView和光标处于TextView的第一个字符时,我应该删除这一行并添加(如果有的话)文本到上面的行,当我点击退格按钮 – f0rz 2010-05-01 10:50:32

回答

0

您还应该测试,当用户执行CUT会发生什么......

+0

你是对的,即使这会触发长度= 0的文本。嗯... – f0rz 2010-04-30 13:37:04

相关问题