TextField 方法
鍵盤的問題,請使用第三方解決,高效,牛X!
1.讓textField只能輸入數(shù)字
```
#define NUMBERS @"0123456789\n"
-(BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString*)string{
NSCharacterSet*cs;
if(textField ==self.accNo|| textField ==self.numberText)
{
? ? ? ? cs = [[NSCharacterSetcharacterSetWithCharactersInString:NUMBERS]invertedSet];
? ? ? ? NSString*filtered = [[stringcomponentsSeparatedByCharactersInSet:cs]componentsJoinedByString:@""];
? ? ? ? BOOLbasicTest = [stringisEqualToString:filtered];
? ? ? ? if(!basicTest)
? ? ? ? ? ?{
? ? ? ? ? ? ? ?UIAlertView* alert = [[UIAlertViewalloc]initWithTitle:@"提示"
? ? ? ? ? ? ?message:@"請輸入數(shù)字"
? ? ? ? ? ? ?delegate:nil
? ? ? ? ? ? ?cancelButtonTitle:@"確定"
? ? ? ? ? ? ?otherButtonTitles:nil];
? ? ? ? ? ? ?[alertshow];
? ? ? ? ? ?returnNO;
? ? ? ? ? ? }
}
? ? ? returnYES; ?
}
```
2. 通知的來監(jiān)聽[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(textFieldChange)name:UITextViewTextDidChangeNotificationobject:nil];
3.textfield加一個刪除按鈕
UIView*rightVeiw = [[UIViewalloc]initWithFrame:CGRectMake(0, searIV.frame.size.height/2-10,30,20)];
UIImageView* xImageView = [[UIImageViewalloc]initWithImage:[UIImageimageNamed:@"ic_delete-0"]];
xImageView.frame=CGRectMake(10,3,14,14);
xImageView.userInteractionEnabled=YES;
[rightVeiwaddSubview:xImageView];
searchTF.rightView= rightVeiw;
searchTF.rightViewMode=UITextFieldViewModeWhileEditing;
UITapGestureRecognizer*xImageViewTap = [[UITapGestureRecognizeralloc]initWithTarget:selfaction:@selector(xImageViewClick:)];
[xImageViewaddGestureRecognizer:xImageViewTap];
4.這個方法也可以拿到變化的textField后的值
[_titleTextFieldaddTarget:selfaction:@selector(valueChanted:)forControlEvents:UIControlEventAllEditingEvents];