テキストフィールドがキーボードを隠すのに応答しないのはなぜですか?
-
10-12-2019 - |
質問
これは私のコードです:
- (BOOL) textFieldShouldReturn:(UITextField *)textField {
[txtSiteDesc resignFirstResponder];
[txtDesc resignFirstResponder];
[ssFS resignFirstResponder];
return YES;
.
}
.hファイル:
#import <UIKit/UIKit.h>
@interface slEnterDataViewController : UITableViewController <UITextFieldDelegate> {
UITextField *txtSiteDesc;
UITextField *txtDesc;
UITextField *ssFS;
}
@property (nonatomic, retain) IBOutlet UITextField *txtSiteDesc;
@property (nonatomic, retain) IBOutlet UITextField *txtDesc;
@property (nonatomic, retain) IBOutlet UITextField *ssFS;
@end
.
TXTSEDESSCのために機能しますが、他のもののいずれではありません。問題がTextFieldShouldReturnメソッドにあると思います。私は "TextField"の値をチェックしてどちらのフィールドをチェックしてから適切な "resignfirstresponder"とReturnを実行できると思いました。私は近い(私は思う)が十分に閉じていません。
ヘルプは大いに感謝されるでしょう。:d
解決
txtSiteDesc
の代理人を設定したが、他の2つのテキストフィールドでは設定できませんか。これにより、textFieldShouldReturn:
が他のテキストフィールドではなく呼び出された理由を説明します。3つのTextFieldsすべてのdelegate
プロパティをself
に設定していることを確認してください(Self= View Controller)。
他のヒント
私はこの問題に直面していました。これはあなたが探しているものです:
- (BOOL)textField:(UITextField *)theTextField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if([string hasSuffix:@"\n"])
{
[theTextField resignFirstResponder];
return NO;
}
return YES;
}
.
キーボードのReturn / Doneなどを押すとキーボードが隠されます。
所属していません StackOverflow