gpt4 book ai didi

ios - UIRefreshControl 被我的 UINavigationController 的 UINavigationBar 隐藏/遮挡

转载 作者:IT王子 更新时间:2023-10-29 08:10:12 26 4
gpt4 key购买 nike

我正在尝试在我的 UITableViewController 中使用 UIRefreshControl,它本身位于 UINavigationController 中,它有它的 hidesNavigationBar 属性设置为 NO(因此导航栏可见)。

UIRefreshControl 有效,但被 UINavigationBar 遮挡了。我很惊讶我找不到其他人遇到过这个问题。

可能的相关点:

  • 我将 UIWindowrootViewController 设置为我的 UINavigationController
  • 我通过设置 UINavigationControllerviewControllers 属性来设置 UINavigationController 的初始 View Controller 。
  • 我的 UITableViewController 子类是用 nib 实例化的。
  • 我在 UITableViewController 子类的 viewDidLoad 方法中实例化了我的 UIRefreshControl。我在此方法中设置了 UITableViewController 子类的 refreshControl 属性。
  • UIRefreshControl 工作得很好,我可以看到它的一部分,但它被我的 UINavigationBar 遮住了。如果我将 hidesNavigationBar 设置为 YES 看起来完全正常(但我不想隐藏它)。

编辑:

用于创建和定位我的 UIRefreshControl 的代码是:

UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
[refreshControl addTarget:self
action:@selector(toggleRefresh:)
forControlEvents:UIControlEventValueChanged];
self.refreshControl = refreshControl;

此代码片段位于我的 UITableViewController 子类的 viewDidLoad 方法中,该子类是 UINavigationViewController 的 subview Controller 。

最佳答案

对于那些以 iOS 7 为目标的用户,似乎存在一个新问题,即 UIRefreshControl 绘制在 UITableViewbackgroundView 后面。我在以编程方式和 Storyboard初始化 UIRefreshControl 时都遇到过这种情况。一个简单的解决方法是在 UITableViewControllerviewDidLoad 中更新 UIRefreshControlzPosition:

self.refreshControl.layer.zPosition = self.tableView.backgroundView.layer.zPosition + 1;

关于ios - UIRefreshControl 被我的 UINavigationController 的 UINavigationBar 隐藏/遮挡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14739048/

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