我有一个 UIViewController,顶部有一个 UIButton,下面有一个 UITableView。上面的按钮是“历史记录”,我将其设置为用户可以打开或关闭的功能。我使用带有按钮和表格的 XIB 设置视图控制器。
当“历史”功能被禁用时,我想隐藏历史按钮并相应地向上移动我的 UITableView 的顶部,这样我的视图顶部就没有空白。
当我在 viewDidAppear: 中调用 hideHistory: 方法时,它确实隐藏了历史按钮并将表格移动到我的视图顶部。
但是在打开模态视图(向表格中添加一行)然后关闭模态视图后,表格又移回了原来的位置。添加对 viewWillAppear: 的调用无效。
下面是 hideHistory 的代码。关于为什么桌子重置到其原始位置的任何想法?
提前致谢!
- (void)hideHistory
{
[historyButton setHidden:YES] ;
// move our data table up accordingly
CGFloat newTop = historyButton.frame.origin.y ;
CGRect newFrame = CGRectMake(dataTable.frame.origin.x,
newTop,
dataTable.frame.size.width,
dataTable.frame.size.height);
[dataTable setFrame:newFrame] ;
[[self view] setNeedsLayout] ;
[dataTable setNeedsLayout] ;
}