【发布时间】:2013-12-05 11:52:55
【问题描述】:
我正在尝试使 UINavigationController 的导航栏显示在底部。
CGRect navBarOldCGRect = self.navigationController.navigationBar.frame;
CGRect navBarNewCGRect = navBarOldCGRect;
navBarNewCGRect.origin.x = 0;
navBarNewCGRect.origin.y = viewFrame.size.height - navBarOldCGRect.size.height -navBarOldCGRect.origin.y;
navBarNewCGRect.size.width = navBarOldCGRect.size.width;
navBarNewCGRect.size.height = navBarOldCGRect.size.height;
self.navigationController.navigationBar.frame = navBarNewCGRect;
NSLog(@"viewFrame : %@", CGRectCreateDictionaryRepresentation(viewFrame));
NSLog(@"navBarOldCGRect : %@", CGRectCreateDictionaryRepresentation(navBarOldCGRect));
NSLog(@"navBarNewCGRect : %@", CGRectCreateDictionaryRepresentation(navBarNewCGRect));
NSLog(@"result : %@", CGRectCreateDictionaryRepresentation(self.navigationController.navigationBar.frame));
这样的日志输出;
viewFrame : {
Height = 1024;
Width = 768;
X = 0;
Y = 0;
}
navBarOldCGRect : {
Height = 44;
Width = 768;
X = 0;
Y = 20;
}
navBarNewCGRect : {
Height = 44;
Width = 768;
X = 0;
Y = 960;
}
result : {
Height = 44;
Width = 768;
X = 0;
Y = 960;
}
但不会在屏幕上改变。导航栏仍位于屏幕顶部。
我错过了什么?
【问题讨论】:
标签: ios objective-c uinavigationbar cgrect