UIText просмотр вопроса делегата - PullRequest
2 голосов
/ 16 марта 2012

Я хочу уволить клавиатуру из UItextview. Как программно реализовать метод делегата UItextView.

Ответы [ 4 ]

6 голосов
/ 16 марта 2012

Если вы хотите, чтобы ваша клавиатура ушла в отставку, когда вы нажимаете на return, тогда вам нужно написать, реализуйте этот метод ....

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {

if([text isEqualToString:@"\n"]) {
    [textView resignFirstResponder];
    return NO;
}

return YES;

}

Просто скопируйте и вставьте ....:)

5 голосов
/ 16 марта 2012

Убедитесь, что вы заявили о поддержке протокола UITextViewDelegate.

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {

    if([text isEqualToString:@"\n"]) {
        [textView resignFirstResponder];
        return NO;
    }

    return YES;
}
4 голосов
/ 16 марта 2012

Для UITextview не существует специального метода делегата, который бы знал, когда пользователь нажимает «RETURN», поэтому вы можете сделать это следующим образом

//In .h File

@interface BlahBlah : UIViewController <UITextViewDelegate>
  @property(nonatomic, retain) IBOutlet UITextView *myTextView;
@end

//In .m File
@implementation BlahBlah

@synthesis myTextView;

//In some method, can be viewDidLoad OR viewDidAppear . your convenience ;) 
{
   self.myTextView.delegate = self;
}

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {

        if([text isEqualToString:@"\n"]) {
            [textView resignFirstResponder];
            return NO;
        }

        return YES;
}
4 голосов
/ 16 марта 2012

Вы должны использовать UITextViewDelegate.Вы должны объявить использование протокола в заголовке вашего класса следующим образом:

@interface YourClass:NSObject<UITextViewDelegate>

Затем в вашем .m вы должны установить свой класс в качестве делегата в какой-то момент, например:

textView.delegate = self;

Затем в вашем .m снова необходимо реализовать методы делегата, в частности:

textViewDidChange:

. Для получения дополнительной информации вы можете прочитать ссылку на протокол в http://developer.apple.com/library/ios/#documentation/uikit/reference/UITextViewDelegate_Protocol/Reference/UITextViewDelegate.html.

...