我的tableview中的单元格是水平的UIScrollViews,我假设是没有调用didSelectRowAtIndexPath的原因。我在该方法中调用了resignFirstResponder。
有没有人有一个简单的方法来解决这个问题? didSelectRowAtIndexPath有替代品吗?或者有没有办法让这种方法解决?
谢谢!
答案 0 :(得分:1)
您可能仍在使用cellForRowAtIndexPath,并且您可能将UIScrollView作为单元格contentView的子视图。你能在超级视图链上调用一个方法,即[self.superview method]
,[self.superview.superview method]
吗?这应该至少让你回到UITableView对象,如果有必要,你可以通过标记识别你的UIScrollViews。
答案 1 :(得分:0)
因此,为了解决我的这个小问题,我想出了一个可以在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];
希望这有助于某人! :)