TTPostController - Клавиатура не появляется

Привет, я добавляю «раздел комментариев к сообщению в моем приложении для iPhone», в остальном все работает нормально, но когда я нажимаю на «postController textView», клавиатура должна появиться снизу, но она не появляется. Однако курсор отображается, а значок текст, который я передаю с помощью postController.textView.text = @"", также отображается.

Пожалуйста, предложите области, которые нужно искать для исправления этой ошибки.

   -(void)showCommentView
    {
        TTPostController *postController = [[TTPostController alloc] init];

    // self must implement the  TTPostControllerDelegate protocol
        postController.delegate = self; 
        self.popupViewController = postController;

     // assuming self to be the current UIViewController
        postController.superController = self;
            postController.textView.text=@"temporary text";
        [postController showInView:self.view animated:YES];
        [postController release];
    }

выше приведен код, который вызывает постконтроллер Three20.


person thesummersign    schedule 12.05.2011    source источник
comment
Действительно ли Three20 требует, чтобы вы установили для этого popupViewController и superController? Поскольку метода showInView достаточно для отображения. Может быть, это все?   -  person Gurpartap Singh    schedule 12.05.2011
comment
@Gurupratap, это не работает, даже если эта строка прокомментирована.   -  person thesummersign    schedule 12.05.2011
comment
Является ли ваше я (или self.view) представлением, которое является полноэкранным или субконтроллером/представлением другого?   -  person Guy Ephraim    schedule 13.05.2011
comment
@Guy Ephraim, это не подвид, а полный экран.   -  person thesummersign    schedule 13.05.2011
comment
@all - код, который я разместил здесь, отлично работает с изменениями, которые я внес в другой код. Итак, мы будем считать этот код правильным и в этом определении метода нет ошибки.   -  person thesummersign    schedule 28.06.2011


Ответы (1)


ниже показан вызывающий метод, который не изменился...

    -(IBAction)postComment:(id)sender
            {
        [UserManager instance]authenticateUserAndProceed:self withSelector:@selector(showCommentView)];
        }
-(void)showCommentView
    {
        TTPostController *postController = [[TTPostController alloc] init];

    // self must implement the  TTPostControllerDelegate protocol
        postController.delegate = self; 
        self.popupViewController = postController;

     // assuming self to be the current UIViewController
        postController.superController = self;
            postController.textView.text=@"temporary text";
        [postController showInView:self.view animated:YES];
        [postController release];
    }

измененный метод

-(void)authenticateUserAndProceed:(id)parent withSelector:(SEL)selector
{
    theParentViewController = parent;
    self.theFunctionToCall = selector;
    if(userid == nil)
    {
        GetUserInfoViewController *guivc = [[GetUserInfoViewController alloc] init];
        [parent presentModalViewController:guivc  animated:YES];
        guivc.delegate = self;
        [guivc release];
    }


    else {
//////////////////// below line was replaced///////////
//  2.          [theParentViewController performSelector:selector];
// with below code
    UIAlertView *alert =[[UIAlertView alloc]initWith Title........
    [alert show];

        }
    }

РЕЗЮМЕ ПРОБЛЕМЫ: как только пользователь зарегистрировался, он не смог использовать kyboard для TTPostController.

ОБЗОР ИЗМЕНЕНИЙ: как только пользователь зарегистрирован, вызов [theParentViewController PerformSelector:selector]; не отправляется напрямую, но вызов переходит в окно оповещения, которое вызывает его.

EFETCS SUMMARY: пользователь увидит предупреждение «вы успешно зарегистрированы» (вроде). нажав OK, он будет отправлен в TTPostController. (на этот раз появляется клавиатура)

Я сохранил строку № 2 в методе AlertViewDelegate. Я был поражен, увидев, что он работает, просто не вызывая линию 2 напрямую.

это сработало для меня. Я приветствую любую новую и лучшую идею для реализации того же

person thesummersign    schedule 28.06.2011