zoukankan      html  css  js  c++  java
  • iOS: 学习笔记, 加入一个带界面约束的控制器

    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. 执行程序, 得到例如以下效果

     

  • 相关阅读:
    第九章、硬件抽象层:HAL
    第八章、让开发板发出声音:蜂鸣器驱动
    第七章、LED将为我闪烁:控制发光二极管
    第六章、第一个Linux驱动程序:统计单词个数
    第五章、搭建S3C6410开发板的测试环境
    Android深度探索(卷1)HAL与驱动开发
    第三次月考
    第二次月考
    Android深度探索(卷1)HAL与驱动开发
    第六章 集合运算
  • 原文地址:https://www.cnblogs.com/mthoutai/p/6806096.html
Copyright © 2011-2022 走看看