AutoLayout自定义布局基础

AutoLayout自定义布局基础代码如下:


#import "ViewController.h"


@interface ViewController ()


@end


@implementation ViewController


- (void)viewDidLoad {

    [super viewDidLoad];

    [self demo4];

}

- (BOOL)prefersStatusBarHidden

{

    return YES;

}

//一个视图

- (void)demo1

{

    UIView *view = [[UIView alloc]init];

    view.backgroundColor = [UIColor cyanColor];

    view.translatesAutoresizingMaskIntoConstraints = NO;

    [self.view addSubview:view];

    

//    VFL 横向 竖向相布局

//    @"H:|-20-[view(>=200)]-20-|"

//    @"V:|-40-[view(>=400)]-20-|"

//     使用VFL 需要把视图的对象    他的  名字 (字符串)绑定起来

    NSDictionary *views = NSDictionaryOfVariableBindings(view);

//   self.view   view  添加约束

//    NSLayoutConstraint 具体添加约束的类

//    + (NSArray *)constraintsWithVisualFormat:(NSString *)format options:(NSLayoutFormatOptions)opts metrics:(NSDictionary *)metrics views:(NSDictionary *)views

//    1.formatVFL  2.opts:同意按照某个方向去布局  3.metrics 绑定的参数  4.views  绑定视图的参数

    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-20-[view(>=200)]-20-|"  options:0 metrics:nil views:views]];

    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-40-[view(>=200)]-20-|"  options:0 metrics:nil views:views]];

}

- (void)demo2

{

    UIView *view = [[UIView alloc]init];

    view.backgroundColor = [UIColor redColor];

    view.translatesAutoresizingMaskIntoConstraints = NO;

    [self.view addSubview:view];

    

    UIView *view1 = [[UIView alloc]init];

    view1.backgroundColor = [UIColor cyanColor];

    view1.translatesAutoresizingMaskIntoConstraints = NO;

    [self.view addSubview:view1];

    

    NSDictionary *views = NSDictionaryOfVariableBindings(view,view1);

    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-20-[view(>=200)]-20-|"  options:0 metrics:nil views:views]];

    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-20-[view1(>=200)]-20-|"  options:0 metrics:nil views:views]];



    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-10-[view(==100)]-100-[view1(==100)]" options:0 metrics:nil views:views]];

//    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:[view]-100-[view1(>=100)]"  options:0 metrics:nil views:views]];

    


}

- (void)demo3

{

    NSArray *colorList = @[[UIColor redColor],[UIColor yellowColor]];

    for (int i = 0; i < 2; i ++) {

        UIView *view = [[UIView alloc]init];

        view.backgroundColor = colorList[i];

        view.tag = i+10;

        view.translatesAutoresizingMaskIntoConstraints = NO;

        [self.view addSubview:view];

    }

    UIView *redView = (UIView *)[self.view viewWithTag:10];

        UIView *yellowView = (UIView *)[self.view viewWithTag:11];

    NSDictionary *views = NSDictionaryOfVariableBindings(redView,yellowView);

//    两个视图 横向的约束

    NSArray *constraint = @[@"H:|-20-[redView(>=200)]-20-|",@"H:|-20-[yellowView(>=200)]-20-|"];

    

    for (NSString *VFL in constraint) {

        [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:VFL options:0 metrics:nil views:views]];

    }

    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-50-[redView(==100)]-100-[yellowView(==100)]" options:0 metrics:nil views:views]];

}

- (void)demo4

{

 NSArray *colorList = @[[UIColor redColor],[UIColor yellowColor],[UIColor blueColor]];

    for (int i = 0; i < 3; i ++) {

        UIView *view = [[UIView alloc]init];

        view.backgroundColor = colorList[i];

        view.tag = i+10;

        view.translatesAutoresizingMaskIntoConstraints = NO;

        [self.view addSubview:view];

    }

    UIView *redView = (UIView *)[self.view viewWithTag:10];

    UIView *yellowView = (UIView *)[self.view viewWithTag:11];

   UIView *blueView = (UIView *)[self.view viewWithTag:12];

    NSDictionary *views = NSDictionaryOfVariableBindings(redView,yellowView,blueView);

//    @"H:|-20-[redView(>=200)]-20-|"

//    @"H:|-20-[yellowView(>=100)]-10-[blueView(yellowView)]-20-|"

 NSArray *HList = @[@"H:|-20-[redView(>=200)]-20-|",@"H:|-20-[yellowView(>=30)]-10-[blueView(yellowView)]-20-|"];

    NSArray *VList = @[@"V:|-40-[redView(>=50)]-10-[yellowView(redView)]",@"V:|-40-[redView(>=50)]-10-[blueView(redView)]"];

    for (int i = 0; i <VList.count; i ++) {

        

        [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:HList[i] options:0 metrics:nil views:views]];

        [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:VList[i] options:0 metrics:nil views:views]];

    }

}


- (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}


@end


Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值