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

在利用iOS 6的新自动布局功能同时仍能与早期版本的iOS上的旧设备兼容的最佳方式是什么?

九州编程
浏览 448回答 3
3回答

慕尼黑5688855

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

繁星点点滴滴

您真的需要两个目标吗?我像这样工作,我有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个目标也可以,但对我来说似乎太过分了
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

iOS