textview не отвечает делегатам iphone - PullRequest
1 голос
/ 27 июля 2010

В моем приложении я принудительно показываю / скрываю клавиатуру, заставляя textview становиться становящимися неотображаемыми и resignfirstresponder, а также устанавливая редактируемые текстовые представления соответственно YES и NO.

Но после скрытия клавиатуры, если я нажимаю на просмотр текста, клавиатура нене показывайсяЯ устанавливаю делегата textview для себя.И метод делегата запускается в первый раз, но не после этого.

РЕДАКТИРОВАТЬ: я использую следующий код, который я пишу для пользовательского нажатия кнопки и проверяю флаги, чтобы проверить, что клавиатура находится в скрытом состоянииили иначе:

switch(rotationFlag)
{
    case 0:
    {
        [self hideKeyboard];
        rotationFlag = 1;
        break;
    }

    case 1:
    {
        [self showKeyboard];
        rotationFlag = 0;
        break;
    }
}

-(void)hideKeyboard{
[txtVwForPosts setEditable:FALSE];
[txtVwForPosts resignFirstResponder];   
 }

 -(void)showKeyboard{
[txtVwForPosts setEditable:TRUE];
[txtVwForPosts becomeFirstResponder];   
 }

Что я делаю не так?

Кто-нибудь может помочь?Спасибо заранее.

Ответы [ 2 ]

0 голосов
/ 27 июля 2010

Я не уверен, что не так с вашим кодом, но ниже приведен код, который я написал для той же цели:

-(IBAction)hideShowKeyboard:(id)sender
{
    if([tv isFirstResponder])
    {
        [tv resignFirstResponder];
    }
    else
    {
        [tv becomeFirstResponder];
    }
}

Это было действие для кнопки. и ТВ это выход TextView. Но этот вид не обнаруживает нажатие на текстовое представление после того, как клавиатура скрыта. Если вы хотите обнаруживать касания, просто не устанавливайте для редактируемого свойства значение NO.

0 голосов
/ 27 июля 2010
switch(rotationFlag)
{
    case 0:
    {
        [self hideKeyboard];
        rotationFlag = 1;
        break;
    }

    case 1:
    {
        [self showKeyboard];
        rotationFlag = 0;
        break;
    }
}

-(void)hideKeyboard
{
  [txtVwForPosts resignFirstResponder];   
 }

 -(void)showKeyboard
{
  [txtVwForPosts becomeFirstResponder];   
 }
...