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

     

  • 相关阅读:
    改造MFC程序,使原来不支持winsocket的工程支持winsocket
    算术移位和逻辑移位实现分析
    MFC 编辑框中字体大小改变,行高不能改变,只能显示一半的问题,已解决。
    在MFC中,使用控制台Console输出调试信息
    在MFC中使用GDI+的一般方法,以VC6.0编译器为例
    WinForm 实现主程序(exe)与其关联类库(*.dll)分开存放
    Deserializing/Serializing SOAP Messages in C#
    List分页
    ConvertJavaMiliSecondToDateTime
    中文数字大小写转阿拉伯数字
  • 原文地址:https://www.cnblogs.com/mthoutai/p/6806096.html
Copyright © 2011-2022 走看看