我有一个带有 UITabBar
的主 viewController
A。我的问题是当我滚动到最后一个单元格并在 UITableView
中单击单元格并转到 viewController
B 之后,当我回到我的 viewController
A,我的最后一个单元格在底部被截断,我可以滚动显示该单元格的所有内容。但默认情况下,底部 UITableView
与上次不同。
当我启动 viewController
B 我在 VCB "viewWillAppear
"中隐藏我的 UITabBar
代码:
- (void)hideTabBar {
UITabBar *tabBar = self.tabBarController.tabBar;
UIView *parent = tabBar.superview;
UIView *content = [parent.subviews objectAtIndex:0];
UIView *window = parent.superview;
[UIView animateWithDuration:0.3
animations:^{
CGRect tabFrame = tabBar.frame;
tabFrame.origin.y = CGRectGetMaxY(window.bounds);
tabBar.frame = tabFrame;
content.frame = window.bounds;
}];
}
当我回到我的 viewController
A 时,我会在 VCB "viewWillDisappear
"中显示我的 UITabBar
代码:
- (void)showTabBar {
UITabBar *tabBar = self._tab;
UIView *parent = tabBar.superview;
UIView *content = [parent.subviews objectAtIndex:0];
UIView *window = parent.superview;
[UIView animateWithDuration:0.3
animations:^{
CGRect tabFrame = tabBar.frame;
tabFrame.origin.y = CGRectGetMaxY(window.bounds) - CGRectGetHeight(tabBar.frame);
tabBar.frame = tabFrame;
CGRect contentFrame = content.frame;
contentFrame.size.height -= tabFrame.size.height;
}];
}
我在 iOS 6 中遇到了同样的问题,但滚动条不允许滚动到底部,并且最后一个单元格总是被切断。
在我的 viewController
A in "viewWillAppear
"我做:
if ([[UIDevice currentDevice].systemVersion hasPrefix"7"]) {
[self._tabBarControllerArticle.tabBar setTranslucent:NO];
}
感谢您提前提供所有答案!!!
另一种方法是将 tabBar
的 translucent 属性设置为 NO
像这样
// In init or viewDidLoad of tab bar controller
self.tabBar.translucent = NO;
假设您使用的是 iOS7,这应该在 self.tabBar
UITableView
关于ios - 最后一个单元格在底部被我的 UITabBar 切断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23778959/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |