zoukankan      html  css  js  c++  java
  • IOS学习之路(代码实现自动布局)

    1.将一个试图放置在其父视图的中央位置,使用限制条件。
    2.创建两个限制条件:一个是将目标视图的 center.x 位置排列在其父视图的 center.x 位置,并且另外一个是将目标视图的 center.y 位置排列在其父视图的 center.y 位置。
    3.首先在 WildCatViewController.h中添加一个Button
    //
    // WildCatViewController.h
    // AutoLayoutDemo
    //
    // Created by wildcat on 14-4-20.
    // Copyright (c) 2014年 com.wildcat. All rights reserved.
    //
    #import <UIKit/UIKit.h>
    @interface WildCatViewController : UIViewController
    @property(nonatomic,strong) UIButton*button;
    @end
    在.m文件中实现:

    //
    // WildCatViewController.m
    // AutoLayoutDemo
    //
    // Created by wildcat on 14-4-20.
    // Copyright (c) 2014年 com.wildcat. All rights reserved.
    //
    #import "WildCatViewController.h"@interface WildCatViewController ()
    @end
    
    @implementation WildCatViewController
    @synthesize button=_button;
    - (void)viewDidLoad
    {
    [super viewDidLoad];
    _button=[UIButton buttonWithType:UIButtonTypeRoundedRect];
    _button.translatesAutoresizingMaskIntoConstraints=NO;
    [_button setTitle:@"WildCat" forState:UIControlStateNormal];
    [self.view addSubview:_button];
    
    UIView *superView=_button.superview;
    //添加约束,使按钮在屏幕水平方向的中央
    NSLayoutConstraint *centerXContraint=[NSLayoutConstraint
    constraintWithItem:_button
    attribute:NSLayoutAttributeCenterX
    relatedBy:NSLayoutRelationEqual
    toItem:superView
    attribute:NSLayoutAttributeCenterX
    multiplier:1.0f
    constant:0.0];
    //添加约束,使按钮在屏幕垂直方向的中央
    NSLayoutConstraint *centerYContraint=[NSLayoutConstraint
    constraintWithItem:_button
    attribute:NSLayoutAttributeCenterY
    relatedBy:NSLayoutRelationEqual
    toItem:superView
    attribute:NSLayoutAttributeCenterY
    multiplier:1.0f
    constant:0.0];
    //给button的父节点添加约束
    [superView addConstraints:@[centerXContraint,centerYContraint]];
    
    }
    
    -(NSUInteger)supportedInterfaceOrientations{
    return UIInterfaceOrientationMaskAll; //屏幕可以旋转
    }
    
    - (void)didReceiveMemoryWarning
    {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
    }
    
    @end

    不要忘记更改设备可以旋转方向,
    运行结果如下图:

    本文转自:http://1.wildcat.sinaapp.com/?p=42

    限制条件和他们要添加到的视图的关系图如下:

     

     

    layout

     转载请注明:版权所有http://1.wildcat.sinaapp.com/

    未完待续……


  • 相关阅读:
    spring异常处理器
    热部署环境下,dubbo序列化的bug和优化
    函数式编程的一些魅力
    常用的jvm命令
    JS直接访问WebService(来自于网络)
    AjaxControlToolkit使用报错
    Server Application Unavailable
    ScriptManager调用WebService注意事项
    SNK签名文件添加
    vs无法调试,启动后类似于ctrl+F5
  • 原文地址:https://www.cnblogs.com/lixingle/p/3707687.html
Copyright © 2011-2022 走看看