我正在尝试使用iOS
和storyboard
的多个视图创建portrait
landscape
。我创建的所有内容都是故事板constraints
和autolayout
。
现在我的问题是肖像我需要像下面的肖像图像一样显示。多数民众赞成我使用故事板约束。
对于风景需要显示First View (red)
和底栏只有其他我隐藏的硬编码。但我不知道如何将红色屏幕第一视图全高度扩展到底部条形顶部。
注意:这是Universal App。
- (void) orientationChanged:(NSNotification *)note
{
UIDevice * device = note.object;
switch(device.orientation)
{
case UIDeviceOrientationPortrait:
/* start special animation */
NSLog(@"Portrait");
self.namelist_tableview.hidden = NO;// ORANGE VIEW
break;
case UIDeviceOrientationLandscapeRight:
/* start special animation */
NSLog(@"Landscape");
self.namelist_tableview.hidden = YES;// ORANGE VIEW
break;
case UIDeviceOrientationLandscapeLeft:
/* start special animation */
NSLog(@"Landscape");
self.namelist_tableview.hidden = YES;// ORANGE VIEW
break;
default:
break;
};
}
答案 0 :(得分:1)
您可以添加红色视图高度约束,将其存储在UIViewController
中。
当设备的方向改变时。如果是纵向,则将视图高度约束设置为您要设置的时间长度,并将横向设置红色视图高度约束设置为初始值。
答案 1 :(得分:1)
答案 2 :(得分:1)
非常简单,在intefacebuilder中为纵向模式添加约束, 为横向模式添加约束。 接下来为所有约束做出一个出口。 在设备更改方向事件中执行此操作
如果您处于横向模式
+将纵向的活动约束设置为false(constraint.active = NO)
+将landscape的约束激活设置为true(constraint.active = YES)
如果您处于纵向模式
+将横向约束的活动设置为false(constraint.active = NO)
+将纵向约束的活动设置为true(constraint.active = YES)
答案 3 :(得分:0)