为了账号安全,请及时绑定邮箱和手机立即绑定

在保持与iOS 5向下兼容的同时,在iOS 6中启用自动布局

在保持与iOS 5向下兼容的同时,在iOS 6中启用自动布局

iOS
九州编程 2019-12-10 13:08:36
在利用iOS 6的新自动布局功能同时仍能与早期版本的iOS上的旧设备兼容的最佳方式是什么?
查看完整描述

3 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

可以在每个.storyboard或.xib文件上启用或禁用自动布局。只需选择特定文件,然后使用Xcode中的文件检查器修改“使用自动布局”属性即可:

//img1.sycdn.imooc.com//5db10f5400017b1602580120.jpg


查看完整回答
反对 回复 2019-12-11
?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

您真的需要两个目标吗?我像这样工作,我有2个故事板,如ImreKelényi所说,一个启用了自动布局,另一个没有启用,然后在应用程序委托中,我只是检查他们使用的是哪个版本并选择正确的故事板:


#import "AppDelegate.h"


#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:(v) options:NSNumericSearch] != NSOrderedAscending)


@interface AppDelegate ()

    @property (strong, nonatomic) UIViewController *initialViewController;

@end


@implementation AppDelegate


@synthesize window = _window;


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

    UIStoryboard *mainStoryboard = nil;

    if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"6.0")) {

        mainStoryboard = [UIStoryboard storyboardWithName:@"iPhone_iOS6" bundle:nil];

    } else {

        mainStoryboard = [UIStoryboard storyboardWithName:@"iPhone_iOS5" bundle:nil];

    }


    self.initialViewController = [mainStoryboard instantiateInitialViewController];

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    self.window.rootViewController = self.initialViewController;

    [self.window makeKeyAndVisible];


    return YES;

}


@end

有2个目标也可以,但对我来说似乎太过分了



查看完整回答
反对 回复 2019-12-11
  • 3 回答
  • 0 关注
  • 482 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信