iOS開発UItextFielddialingメソッドの詳細
2343 ワード
textfieldのエージェントメソッドをまとめます.
最初にUIcontrolから継承
イベントの追加
[textField addTarget : self action : @selector (didDone:) forControlEvents :UIControlEventEditingDidEndOnExit ]; トリガメソッドのイベントは列挙値であり,自分で研究できる.
まず編集を開始するか否かを判断し,戻り値がYESであれば編集可能,NOであれば編集できない.
編集ステータスに入ると、次のようになります.
入力するたびに、この方法を実行します.
このコードは、パラメータが何であるか、いつ実行されるかを表示するためのデバッグコードです.
入力を終了するかどうかを判断し、戻り値がYESであれば終了できます.そうでなければ終了できません.
編集が終了しました:
Enterキーを押すと、次のようになります.
クリアキーを押して入りますか?
これは私がリターンキーを押してみましたが、クリアキーのはずですが、役に立たず、リターン値を変えても効果がありません.この方法はいったい何をしているのでしょうか.
最初にUIcontrolから継承
イベントの追加
[textField addTarget : self action : @selector (didDone:) forControlEvents :UIControlEventEditingDidEndOnExit ]; トリガメソッドのイベントは列挙値であり,自分で研究できる.
まず編集を開始するか否かを判断し,戻り値がYESであれば編集可能,NOであれば編集できない.
// , NO
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
NSLog(@" ?--%s",__FUNCTION__);
return YES;
}
編集ステータスに入ると、次のようになります.
//
-(void)textFieldDidBeginEditing:(UITextField *)textField{
NSLog(@" --%s",__FUNCTION__);
}
入力するたびに、この方法を実行します.
// 。 , , 。
/**
*
*
* @param textField
* @param range 0
* @param string
*
* @return yes: no:
*/
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
// NSLog(@" --%s",__FUNCTION__);
/*range = NSMakeRange(0, 5);
if ([textField.text length] > 5) {
string = [textField.text substringWithRange:range];
}*/
/*NSLog(@"%@",textField);
NSLog(@"range--%lu",range.length);
NSLog(@"string--%@",string);*/
return YES;
}
このコードは、パラメータが何であるか、いつ実行されるかを表示するためのデバッグコードです.
入力を終了するかどうかを判断し、戻り値がYESであれば終了できます.そうでなければ終了できません.
//
-(BOOL)textFieldShouldEndEditing:(UITextField *)textField{
NSLog(@" --%s",__FUNCTION__);
return YES;
}
編集が終了しました:
//
-(void)textFieldDidEndEditing:(UITextField *)textField{
NSLog(@" --%s",__FUNCTION__);
}
Enterキーを押すと、次のようになります.
//
-(BOOL)textFieldShouldReturn:(UITextField *)textField{
NSLog(@" --%s",__FUNCTION__);
BOOL temp = [textField resignFirstResponder];
NSLog(@"%d",temp);
return YES;
}
クリアキーを押して入りますか?
// 。
-(BOOL)textFieldShouldClear:(UITextField *)textField{
NSLog(@" --%s",__FUNCTION__);
return NO;
}
これは私がリターンキーを押してみましたが、クリアキーのはずですが、役に立たず、リターン値を変えても効果がありません.この方法はいったい何をしているのでしょうか.