我通过此代码设置工具栏以纵向显示:
self.toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 20, self.view.frame.size.width, 44)];
横向方向存在差距,因为状态栏默认隐藏:
我是否需要在设备旋转时每次更新工具栏框架(以避免间隙)并在加载当前视图时检查方向?
或
还有另一种解决方法吗?
答案 0 :(得分:0)
您可以在工具栏上添加约束,而不是设置框架: 像这样的东西
self.toolbar.translatesAutoresizingMaskIntoConstraints = NO;
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[topLayoutGuide][toolbar(toolbarHeight)]" options:0 metrics:@{@"toolbarHeight": [NSNumber numberWithInt:44]} views:@{@"toolbar": self.toolbar}, @"topLayoutGuide":self.topLayoutGuide}]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"|[toolbar]|" options:0 metrics:nil views:@{@"toolbar": self.toolbar}]];