【发布时间】:2018-11-16 14:42:52
【问题描述】:
我正在使用以下几行来获取导航栏框架大小,它在 iOS 版本 11 之前工作正常,但在将我的 iOS 版本升级到 11 后,它返回我的 nil 值为 (0, 0)。谁能帮我解决这个问题。
CGRect frame = self.superview.frame;
// Look for the navigation bar.
UINavigationBar *navigationBar;
UIView *superView = self;
while (superView.superview)
{
if ([superView.superview isKindOfClass:[UINavigationBar class]])
{
navigationBar = (UINavigationBar*)superView.superview;
break;
}
superView = superView.superview;
}
if (navigationBar)
{
CGSize navBarSize = navigationBar.frame.size;
CGFloat superviewCenterX = frame.origin.x + (frame.size.width / 2);
// Check whether the view is not moving away (see navigation between view controllers).
if (superviewCenterX < navBarSize.width)
{
// Center the display name
self.displayNameCenterXConstraint.constant = (navBarSize.width / 2) - superviewCenterX;
}
}
【问题讨论】:
标签: ios objective-c uinavigationbar