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

     

  • 相关阅读:
    python模块之datetime方法详细介绍
    练习十七:python辨别数据类型
    练习十六:Python日期格式应用(datetime)
    Tkinter的l组件常用属性
    Log4net使用方法
    Thinkphp中在本地测试很好,在服务器上出错,有可能是因为debug缓存的问题
    Git 常见问题
    Linq中的in和not in的使用方法
    网络协议
    WCF传输协议
  • 原文地址:https://www.cnblogs.com/mthoutai/p/6806096.html
Copyright © 2011-2022 走看看