1. 创建一个空iOS应用程序(Empty Application).
2. 加入加控制器类. 改动控制器类的viewDidLoad
- (void)viewDidLoad { [super viewDidLoad]; //创建标题 UILabel *header = [[UILabel alloc] init]; header.text = @"欢迎来到我的世界!"; header.textAlignment = NSTextAlignmentCenter; [self.view addSubview: header]; self.statusLabel = [[UILabel alloc] init]; self.statusLabel.text = @"准备就绪!"; [self.view addSubview: self.statusLabel]; //加入自己主动布局约束 UILabel *statusLabel = self.statusLabel; [header setTranslatesAutoresizingMaskIntoConstraints: NO]; [statusLabel setTranslatesAutoresizingMaskIntoConstraints: NO]; NSMutableArray *contraits = [NSMutableArray array]; NSMutableDictionary *metrics = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@5, @"HPadding", @5, @"VPadding", @20, @"TopMargin", nil]; NSDictionary *views = NSDictionaryOfVariableBindings(header, statusLabel); [contraits addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-HPadding-[header]-HPadding-|" options:0 metrics:metrics views:views]]; [contraits addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-HPadding-[statusLabel]-HPadding-|" options:0 metrics:metrics views:views]]; [contraits arrayByAddingObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-HPadding-[statusLabel]-HPadding-|" options:0 metrics:metrics views:views]]; [contraits addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-TopMargin-[header]-(>=0)-[statusLabel]-VPadding-|" options:0 metrics:metrics views:views]]; [self.view addConstraints: contraits]; }
3. 改动AppDelegate.m文件
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Override point for customization after application launch. self.window.backgroundColor = [UIColor whiteColor]; //增加控制器 self.window.rootViewController = [[DemoViewController alloc] initWithNibName:nil bundle:nil]; [self.window makeKeyAndVisible]; return YES; }
4. 执行程序, 得到例如以下效果