zoukankan      html  css  js  c++  java
  • UI3_UIView自动布局

    //
    //  ViewController.m
    //  UI3_UIView自动布局
    //
    //  Created by zhangxueming on 15/7/1.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import "ViewController.h"
    
    @interface ViewController ()
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
        //自动布局
        
        CGFloat size = self.view.frame.size.width-300;
        UIView *view = [[UIView alloc] initWithFrame:CGRectMake(150, 200, size, size)];
        view.backgroundColor = [UIColor orangeColor];
        //打开子视图自动布局
        view.autoresizesSubviews = YES;
        //
        //UIViewAutoresizingNone                 = 0,//就是不自动调整
    //    UIViewAutoresizingFlexibleLeftMargin   = 1 << 0,//自动调整与superView左边的距离,保证与superView右边的距离不变。
    //    
    //    UIViewAutoresizingFlexibleWidth        = 1 << 1,//自动调整自己的宽度,保证与superView左边和右边的距离不变
    //    UIViewAutoresizingFlexibleRightMargin  = 1 << 2,//自动调整与superView的右边距离,保证与superView左边的距离不变。
    //    
    //    UIViewAutoresizingFlexibleTopMargin    = 1 << 3,//自动调整与superView顶部的距离,保证与superView底部的距离不变。
    //    UIViewAutoresizingFlexibleHeight       = 1 << 4,//自动调整自己的高度,保证与superView顶部和底部的距离不变。
    //    UIViewAutoresizingFlexibleBottomMargin = 1 << 5//自动调整与superView底部的距离,也就是说,与superView顶部的距离不变。
        
        //设置tag值
        view.tag =100;
        //自动剪裁
        view.clipsToBounds = YES;
        
        [self.view addSubview:view];
        
        UIView *topView = [[UIView alloc] initWithFrame:CGRectMake(5, 5, size-10, size-10)];
        
        
        topView.backgroundColor = [UIColor greenColor];
        
        //设置子视图与父视图的四周距离都保持一致
        topView.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
        
        [view addSubview:topView];
        
        UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];
        btn.frame = CGRectMake(100, 400, self.view.frame.size.width-200, 30);
        btn.backgroundColor = [UIColor cyanColor];
        [btn setTitle:@"点击" forState:UIControlStateNormal];
        [btn addTarget:self action:@selector(btnClicked) forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:btn];
    }
    
    //修改父视图的frame
    - (void)btnClicked
    {
        UIView *view = [self.view viewWithTag:100];
        
        CGRect frame = CGRectMake(view.frame.origin.x-1,view.frame.origin.y-1,view.frame.size.width+2, view.frame.size.height+2);
        view.frame = frame;
    }
    
    - (void)didReceiveMemoryWarning {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }
    
    @end
    
  • 相关阅读:
    《大话设计模式》读书笔记
    设计模式个人笔记
    多线程的单元测试工具
    设计模式六大原则
    时间复杂度和空间复杂度(转)
    排序算法笔记
    《人月神话》读书笔记
    微信公众号开发踩坑记录(二)
    微信公众号开发踩坑记录
    全栈工程师之路
  • 原文地址:https://www.cnblogs.com/0515offer/p/4638446.html
Copyright © 2011-2022 走看看