Tim*_*ber 18 cocoa-touch uitableview uinavigationcontroller ios uirefreshcontrol
我试图使用一个UIRefreshControl内部我UITableViewController自己在里面UINavigationController,它的hidesNavigationBar属性设置为NO(所以导航栏是可见的).
该UIRefreshControl作品,但被掩盖UINavigationBar.我很惊讶我找不到其他遇到这个问题的人.
可能的相关要点:
rootViewController认为我UIWindow是我的UINavigationController.UINavigationController通过设置viewControllers属性来设置初始视图控制器UINavigationController.UITableViewController子类用nib实例化.UIRefreshControl在viewDidLoad我的UITableViewController子类的方法中实例化我.我在这个方法中设置了子类的refreshControl属性UITableViewController.UIRefreshControl工作完全正常,我可以看到它的一部分,但它是由我的遮蔽UINavigationBar.如果我设置hidesNavigationBar为YES(但我不想隐藏它),这看起来完全正常.用于创建和定位我的代码UIRefreshControl是:
UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
[refreshControl addTarget:self
action:@selector(toggleRefresh:)
forControlEvents:UIControlEventValueChanged];
self.refreshControl = refreshControl;
Run Code Online (Sandbox Code Playgroud)
这段代码片段在viewDidLoad我的UITableViewController子类的方法中,它是一个子视图控制器UINavigationViewController.
Ale*_*lav 44
对于那些针对iOS的7,似乎有一个新的问题,目前在UIRefreshControl背后绘制UITableView的backgroundView.我在以UIRefreshControl编程方式和故事板初始化时都遇到了这种情况.一个简单的解决方法是更新您zPosition的UIRefreshControlin :viewDidLoadUITableViewController
self.refreshControl.layer.zPosition = self.tableView.backgroundView.layer.zPosition + 1;
Run Code Online (Sandbox Code Playgroud)