如何将对象设置为仅在某些接口上可见

时间:2017-02-27 23:44:16

标签: ios objective-c xcode8

我在Xcode 8上运行,之前有一个按钮,看起来像: w:任何h:任何你可以更改界面,添加你想要在界面上显示的对象,然后只有选择了该界面才会出现(即,不会出现在Portrait中,但会出现在风景中)。在Xcode 8中没有那个拉动网格的按钮,但是有一个“Vary for Traits”按钮,但它似乎没有相同的工作方式,是否有人对此主题有任何建议或帮助?

由于

1 个答案:

答案 0 :(得分:0)

您必须聆听设备方向更改并相应地隐藏/显示按钮。

在viewDidLoad中添加:

- (void)viewDidLoad {
    [super viewDidLoad];
    [self configureYourButtonForOrientation:[[UIApplication sharedApplication] statusBarOrientation]];
    [[NSNotificationCenter defaultCenter] addObserver:self  selector:@selector(orientationChanged:)    name:UIDeviceOrientationDidChangeNotification  object:nil];
}

然后使用当前状态栏方向执行任何操作。请注意你

- (void)orientationChanged:(NSNotification *)notification{
    [self configureYourButtonForOrientation:[[UIApplication sharedApplication] statusBarOrientation]];
}

- (void)configureYourButtonForOrientation:(UIInterfaceOrientation)orientation{
    switch (orientation) {
        case UIInterfaceOrientationLandscapeLeft:
        case UIInterfaceOrientationLandscapeRight:
            break;

        case UIInterfaceOrientationPortrait:
        case UIInterfaceOrientationPortraitUpsideDown:
            break;

        default:
            break;
    }
}