这与我的last question。
有关我有一个应用程序,我是从Xcode中的“基于导航的应用程序”模板创建的。 (我有一个带有名为RootViewController的UITableViewController子类的UINavigationController。)
该表显示了用户可以与之交互的字符串列表。导航栏左侧有标准的编辑/完成按钮,右侧有加号按钮。当用户触摸加号按钮时,我想从导航栏下方滑动从.xib文件加载的视图。
我尝试通过执行以下操作来实现它:
NSArray *xibContents = [[NSBundle mainBundle] loadNibNamed:@"NewNameView" owner:self options:nil];
UIView *view = [xibContents objectAtIndex:0];
[self.view addSubview:view];
view.frame = CGRectMake(view.frame.origin.x, view.frame.origin.y - 44, view.frame.size.width, view.frame.size.height);
[UIView beginAnimations:@"openAdd" context:nil];
view.frame = CGRectMake(view.frame.origin.x, view.frame.origin.y + 44, view.frame.size.width, view.frame.size.height);
[UIView commitAnimations];
(视图的高度为44像素。)这会使视图向下滑动,但它会覆盖第一个表格单元格。我希望桌面视图也可以向下滑动。
答案 0 :(得分:2)
最好的方法是直接使用UITableView
方法。
//Update your data model with the new row
[self.tableView beginUpdates];
NSArray* indexPaths = [[NSArray alloc] initWithObjects:[NSIndexPath indexPathForRow:0 inSection:0], nil];
[self.tableView insertRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationTop];
[indexPaths release];
[self.tableView endUpdates];
您的新行看起来就像是来自导航栏。
有关批insert/deleting of row and sections的更多信息。