テキストフィールドをクリックすると、別のビューにジャンプするキーボードを表示する代わりに、テキストフィールドを別のコントロールビューに接続する方法についての簡単な質問があります
回答ありがとうございます
TextField のデリゲート メソッドで、textFieldShouldBeginEditing
現在のビューから別のビューに移動するコードを追加します。
または、TextField でタップ ガスチャー レコグナイザーを使用してタッチすることもできます。
コードは次のとおりです。
IB に TextFied を作成し、.h ファイルに接続します。
@interface ViewController : UIViewController<UITextFieldDelegate>
@property (strong, nonatomic) IBOutlet UITextField *firstTF;
そして、.mファイルにこれを追加します
@synthesize firstTF;
- (void)viewDidLoad
{
[super viewDidLoad];
firstTF.delegate= self;
}
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
secondViewController *ainfoController = [[secondViewController alloc] initWithNibName:@"secondViewController" bundle:nil];
[self presentModalViewController:ainfoController animated:YES];
return YES;
}
コードで Textfield を追加する場合は、
UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(x, y, width, height)];
textField.delegate = self;
[self.view addSubview:textField];
このメソッドを追加します
- (BOOL) textFieldShouldBeginEditing:(UITextField *)textField{
// you can add the code for present a new viewController here
return NO;
}
.h ファイルに UITextFieldDelegate を追加したことを確認してください
なぜこれが必要なのかはわかりませんが、開発者としてすべてのシナリオを実装すると確信しているので、あなたの場合は、以下のタクトのいずれかに従うことで同じことを達成できます。
1)このアプローチでは、textfieldshouldbeginデリゲートをオーバーライドし、ナビゲートコードを使用して、ある画面から別の画面に移動する必要があります。ここでresignFirstResponderを呼び出すことを忘れないでください。
2)この2番目のアプローチでは、カスタムボタン(画像もテキストも含まない)を重ね、クリックイベントメソッドでナビゲーションコードを記述して別の画面を移動します。
そうすれば、あなたはあなたが望むものを手に入れるでしょう、そしてそれでもあなたが何か困難を見つけた場合にはただ私に向かって叫ぶだけです。