我在调整 UITableView 的大小以适应 UINavigationBar 和 UITabBar 之间遇到了很多麻烦。我的实现涉及在 viewDidAppear() 中创建自定义框架,然后将 UITableView 设置为适当的框架。尽管此解决方案效果很好,但效果并不理想 - 每次加载视图时屏幕都会有一点痉挛。我认为这个问题是由于 UITableViewb 变成全屏的,因为它想要,然后我在用户眼前调整它的大小。但是,我不知道如何实现我想要的:调整 UITableView 的大小以正确适应屏幕。这是我在 viewDidAppear() 中的实现:
- (void)viewDidAppear:(BOOL)animated{
[self.view.superview addSubview:navigationBar];
CGRect frame = self.view.frame;
frame.size.height = self.view.frame.size.height - navigationBar.frame.size.height;
frame.origin.y = self.view.frame.origin.y + 44;
self.tableView.frame = frame;
[super viewDidAppear:animated];
}
录制在视频上时很难看到效果,而且在 GIF 格式中可能很糟糕,但这是我录制的一个小 GIF动画被诱导的闪光。
如果我在 viewWillAppear() 中使用相同的代码,结果如下:
谢谢!