• iOS: 学习笔记, 添加一个带界面约束的控制器


    1. 创建一个空iOS应用程序(Empty Application).

    2. 添加加控制器类. 修改控制器类的viewDidLoad

     1 - (void)viewDidLoad
     2 {
     3     [super viewDidLoad];
     4     //创建标题
     5     UILabel *header = [[UILabel alloc] init];
     6     header.text = @"欢迎来到我的世界!";
     7     header.textAlignment = NSTextAlignmentCenter;
     8     [self.view addSubview: header];
     9     
    10     self.statusLabel = [[UILabel alloc] init];
    11     self.statusLabel.text = @"准备就绪!";
    12     [self.view addSubview: self.statusLabel];
    13     
    14     
    15     //添加自动布局约束
    16     UILabel *statusLabel = self.statusLabel;
    17     [header setTranslatesAutoresizingMaskIntoConstraints: NO];
    18     [statusLabel setTranslatesAutoresizingMaskIntoConstraints: NO];
    19     
    20     NSMutableArray *contraits = [NSMutableArray array];
    21     NSMutableDictionary *metrics = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@5, @"HPadding", @5, @"VPadding", @20, @"TopMargin", nil];
    22     NSDictionary *views = NSDictionaryOfVariableBindings(header, statusLabel);
    23     [contraits addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-HPadding-[header]-HPadding-|" options:0 metrics:metrics views:views]];
    24     [contraits addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-HPadding-[statusLabel]-HPadding-|" options:0 metrics:metrics views:views]];
    25     [contraits arrayByAddingObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-HPadding-[statusLabel]-HPadding-|" options:0 metrics:metrics views:views]];
    26     [contraits addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-TopMargin-[header]-(>=0)-[statusLabel]-VPadding-|" options:0 metrics:metrics views:views]];
    27 
    28     [self.view addConstraints: contraits];
    29     
    30 }

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

  • 相关阅读:
    大数据技术之Kafka是什么
    大数据技术之Hadoop 基础认识
    在eclipse中运行Mapreduce & spark
    datatstage 中一直处于Ready 状态
    Datastage run 有时候太慢 有时候performance 还Okay
    不能重复造轮子,尤其是枯燥的轮子,要造就造有趣的、好玩的轮子
    什么是好?什么是优秀?
    字面量-上集
    图片切换-vue
    数据绑定
  • 原文地址:https://www.cnblogs.com/yaoyu126/p/3764423.html
Copyright © 2020-2023  润新知