剛才檢查代碼的時候 發(fā)現(xiàn)了之前代碼的一些問題 這里做一下修正 為此我為UIView和UITableView各新增了一個Category方法
UIView的Category
- (BOOL) haveSubview:(UIView*)subView
{
UIView *v = subView;
while (v)
{
if ( self == v )
{
return YES;
}
v = v.superview;
}
return NO;
}
UITableVIew的Category
- (BOOL) haveSubview:(UIView*)subView
{
if ( v && [self haveSubview:v] )
{
while ( v && ![[v class] isSubclassOfClass:[UITableViewCell class]]) {
v = v.superview;
}
if ( v )
{
NSLog(@"%@",NSStringFromClass(v.class));
UITableViewCell *cell = (UITableViewCell*)v;
NSLog(@"%@",[self indexPathForCell:cell]);
[self scrollToRowAtIndexPath:[self indexPathForRowAtPoint:cell.center] atScrollPosition:UITableViewScrollPositionBottom animated:YES];
}
}
}
這樣 當我們需要處理彈出鍵盤時 就只需要如此調(diào)用就可以了
UIView *v = [UIResponder currentFirstResponder];
[self.tableView scrollToView:v];