在我的主视图控制器上,在导航栏下方放置了UITableView
。
在我的AppDelegate
中,我会对导航栏进行一些设置,如下所示:
UIApplication.sharedApplication().setStatusBarStyle(UIStatusBarStyle.LightContent, animated: false)
let navigationBarAppearace = UINavigationBar.appearance()
navigationBarAppearace.tintColor = UIColor.whiteColor()
navigationBarAppearace.barStyle = .Black
navigationBarAppearace.titleTextAttributes = [NSForegroundColorAttributeName:UIColor.whiteColor()]
使用此设置,当我在主视图控制器中的表视图的第一个单元格上调用它时
let cellFrame = tableView.convertRect(cell.frame, toView: tableView.superview)
我得到以下frame
:
cellFrame : (0.0, 64.0, 375.0, 268.0)
这是我期望得到的。然后,当我在AppDelegate
中的设置中添加以下内容时:
navigationBarAppearace.translucent = false
然后我得到以下frame
:
cellFrame : (0.0, 0.0, 375.0, 268.0)
y原点现在为0.
有人能解释我为什么吗?