我在stroyboard上拖拽了两个button,然后给当前控制器添加了一个导航控制器,把导航栏和工具栏都打开,用代码实现布局,
当导航栏和工具栏隐藏时,两个button的位置没有变化,请问为什么?
@implementation ViewController- (void)viewDidLoad
{
[super viewDidLoad];
}- (void)viewWillLayoutSubviews{
[super viewWillLayoutSubviews];
CGRect frame = self.button.frame;
frame.origin.x = self.view.bounds.size.width - 20 - frame.size.width;
frame.origin.y = self.topLayoutGuide.length+20;
self.button.frame = frame;
frame = self.label.frame;
frame.origin.x = self.view.bounds.size.width-20-frame.size.width;
frame.origin.y = self.view.bounds.size.height-20-frame.size.height - self.bottomLayoutGuide.length;
self.label.frame =frame;
}- (IBAction)changeBar:(id)sender {
[self.navigationController setNavigationBarHidden:!self.navigationController.navigationBarHidden animated:YES];
[self.navigationController setToolbarHidden:!self.navigationController.toolbarHidden animated:YES];
}
当导航栏和工具栏隐藏时,两个button的位置没有变化,请问为什么?
@implementation ViewController- (void)viewDidLoad
{
[super viewDidLoad];
}- (void)viewWillLayoutSubviews{
[super viewWillLayoutSubviews];
CGRect frame = self.button.frame;
frame.origin.x = self.view.bounds.size.width - 20 - frame.size.width;
frame.origin.y = self.topLayoutGuide.length+20;
self.button.frame = frame;
frame = self.label.frame;
frame.origin.x = self.view.bounds.size.width-20-frame.size.width;
frame.origin.y = self.view.bounds.size.height-20-frame.size.height - self.bottomLayoutGuide.length;
self.label.frame =frame;
}- (IBAction)changeBar:(id)sender {
[self.navigationController setNavigationBarHidden:!self.navigationController.navigationBarHidden animated:YES];
[self.navigationController setToolbarHidden:!self.navigationController.toolbarHidden animated:YES];
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货