Альтернатива для didSelectRowAtIndexPath, когда UITableViewCells являются UIResponders? - PullRequest
1 голос
/ 18 мая 2010

Ячейки в моем табличном представлении являются горизонтальными UIScrollViews, что, как я полагаю, является причиной, по которой не вызывается didSelectRowAtIndexPath. У меня есть вызов resignFirstResponder в этом методе.

У кого-нибудь есть простой способ исправить это? Есть ли альтернатива didSelectRowAtIndexPath? Или есть способ запустить этот метод?

Спасибо!

Ответы [ 2 ]

1 голос
/ 18 мая 2010

Вероятно, вы все еще используете cellForRowAtIndexPath и, возможно, у вас есть UIScrollView в качестве подпредставлений содержимого содержимого ячейки. Вы можете просто вызвать метод в цепочке суперпредставлений, т.е. [self.superview method], [self.superview.superview method]? Это должно как минимум вернуть вас к объекту UITableView, и при необходимости вы можете идентифицировать ваши UIScrollViews по тегу.

0 голосов
/ 19 мая 2010

Итак, чтобы решить эту мою маленькую проблему, я предложил быстрый метод, который вы можете реализовать в AppDelegate.

- (void)setFirstResponder:(UISearchBar *)setResponder{  
    responder = setResponder;   
}

- (void)unsetFirstResponder{        
    if(responder){
        [responder resignFirstResponder];
        responder = nil;
    }   
}

Тогда всякий раз, когда вы звоните первому респонденту

[(yourAppDelegate *)[[UIApplication sharedApplication] delegate] setFirstResponder:yourResponderObject];    

И всякий раз, когда вы уходите в отставку, первый респондент

[(yourAppDelegate *)[[UIApplication sharedApplication] delegate] unsetFirstResponder];  

Надеюсь, это кому-нибудь поможет! :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...