gpt4 book ai didi

ios - 状态栏与 UITableView 混合在一起

转载 作者:行者123 更新时间:2023-11-29 00:39:34 26 4
gpt4 key购买 nike

我有 UITableviewController,它在顶部包含一个搜索栏,在下面包含表格行。我已将导航栏设置为隐藏,并将 View 放置在距离顶部 20 像素的位置以说明状态栏。

    - (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];

self.navigationController.navigationBar.hidden = YES;
UIApplication *app = [UIApplication sharedApplication];
if(!app.statusBarHidden) {
[self.view setFrame:CGRectMake(0.0,app.statusBarFrame.size.height, self.view.bounds.size.width, self.view.bounds.size.height - app.statusBarFrame.size.height)];
}}

这行得通。首次加载 View 时,状态栏和 View 显示正常。

view after first load

但是,如果我点击其中一个表格行,则会转换到新的推送 View 。从新 View 返回到包含 tableview 的 View 后,状态栏与 tableviewcontroller View 混合在一起。

view after second load

调用了 viewdidappear 但没有任何效果。有更好的方法吗?在我的其他 View 之一中,我在 Storyboard中手动添加了 20 px。然而,对于这个 tableviewcontroller,我无法找到一种方法来做到这一点。欢迎提出任何建议。

最佳答案

这对我有用。

    - (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
self.navigationController.navigationBar.hidden = YES;
if ([[UIDevice currentDevice].systemVersion floatValue] >= 7){
self.tableView.contentInset = UIEdgeInsetsMake(20, 0, 0, 0);
}
[self.tableView scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:YES];
}

关于ios - 状态栏与 UITableView 混合在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39839813/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com