Hatena::Groupiphone-dev

laiso

URLが変わりました (2013/03/08)

 | 

2010-02-16

UITextField/UITextView なんやらで0文字からマイナス方向のバックスペースキーを検知する

| 00:38 | はてなブックマーク -  UITextField/UITextView なんやらで0文字からマイナス方向のバックスペースキーを検知する - laiso

標準APIになかったので苦労したー。

I believe that you should be able to look for a blank replacement string to tell that characters are being removed by the backspace key.

Trap backspace key on the iPhone - Stack Overflow

先頭に常にブランクとか1文字いれておいてそれを感知すればいいらしい。


- (void)viewDidLoad {
  [super viewDidLoad];
  [self.textField setText:@" "];
}

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
  NSString* buffer = [textField text];
  if(range.location == 0 && ![string length]){
    NSLog(@"touched BackSpace !!");
    return NO;
  }else{
    [self.textField setText:buffer];
  }

  return YES;
}

クイックハックだった。頭まわらんなあ。

サンプルコード修正

トラックバック - http://iphone-dev.g.hatena.ne.jp/laiso/20100216
 |