Swift开发:NSLayoutConstraint纯代码实现自动布局-初级篇

要求 宽高200的view,通过代码,使得view在距离父控件的右下角20边距处

/* 约束的设置,控件内部约束由自己添加,比如宽高,如果是与其他的

控件约束那么有父控件添加

*创建约束 NSLayoutConstraint  参数 说明:

* item 自己

* attribute

* relatedBy 大于等于 小于等于 等于

* toItem 另外一个控件

* attribute 另一个控件的熟悉

* multiplier 乘以多少

* constant : 加上多少

* NSLayoutConstraint : 某个控件的属性值 等于 另外一个控件的属性值

乘以多少 加上多少

* 添加约束 addConstraint

*/

swift 代码:

let blueView =UIView();

blueView.backgroundColor =UIColor.blueColor()

self.view.addSubview(blueView)//系统默认会给autoresizing
约束

// 关闭autoresizing 不关闭否则程序崩溃

blueView.translatesAutoresizingMaskIntoConstraints =false

//宽度约束

let width:NSLayoutConstraint =NSLayoutConstraint(item: blueView,
attribute: NSLayoutAttribute.Width, relatedBy:NSLayoutRelation.Equal, toItem:nil,
attribute: NSLayoutAttribute.NotAnAttribute, multiplier:0.0, constant:200)

blueView.addConstraint(width)//自己添加约束

//高度约束

let height:NSLayoutConstraint =NSLayoutConstraint(item: blueView,
attribute: NSLayoutAttribute.Height, relatedBy:NSLayoutRelation.Equal, toItem:nil,
attribute: NSLayoutAttribute.NotAnAttribute, multiplier:0.0, constant:200)

blueView.addConstraint(height)//自己添加约束

//右边约束

let right:NSLayoutConstraint =NSLayoutConstraint(item: blueView,
attribute: NSLayoutAttribute.Right, relatedBy:NSLayoutRelation.Equal, toItem:self.view,
attribute:NSLayoutAttribute.Right, multiplier:1.0, constant: -20)

blueView.superview!.addConstraint(right)//父控件添加约束

//下边约束

let bottom:NSLayoutConstraint =NSLayoutConstraint(item: blueView,
attribute: NSLayoutAttribute.Bottom, relatedBy:NSLayoutRelation.Equal, toItem:self.view,
attribute:NSLayoutAttribute.Bottom, multiplier:1.0, constant: -20)

blueView.superview!.addConstraint(bottom)//父控件添加约束

效果图:

时间: 2024-10-06 05:37:37

Swift开发:NSLayoutConstraint纯代码实现自动布局-初级篇的相关文章

【好程序员笔记分享】——iOS开发之纯代码键盘退出

-iOS培训,iOS学习-------型技术博客.期待与您交流!------------ iOS开发之纯代码键盘退出(非常简单)     iOS开发之纯代码键盘退出 前面说到了好几次关于键盘退出的,但是最近开始着手项目的时候却闷了,因为太多了,笔者确实知道有很多中方法能实现,而且令我影响最深的就是 EndEditing,但是因为即有textView,又有TextField而且他们各有不同的方法,虽然笔者现在搞懂了,但是不知道什么时候又不记得 了,而且虽然感觉很简单现在感觉很简单的样子,但是对于没

iOS学习3_UI开发之纯代码/storyboard/xib

由于做android开发时间比较长,按照android的经验,一般开发界面都是使用xml来写布局文件的,很少会完全使用代码来写布局,最近刚学iOS,发现好多都是直接使用代码来写布局的.看视频学习刚好看到这个不错的小项目,因此做了一点小小的整理. 要实现的效果如下,点击加号添加一条,点击回收投标删除最下面一条,点击删除会删除当前的一条.点击头片会更改中间的文字.删除/添加会伴随动画. 1.使用纯代码来写布局 点击添加按钮 - (IBAction)add:(UIBarButtonItem *)sen

iOS开发:纯代码实现汤姆猫小游戏

演示效果如下: 代码如下: 1 // 2 // CKViewController.m 3 // 纯代码实现汤姆猫 4 // 5 // Created by FrankChen on 14-12-10. 6 // Copyright (c) 2014年 diaozhatian. All rights reserved. 7 // 8 9 #import "CKViewController.h" 10 11 @interface CKViewController () 12 { 13 //

《Swift开发指南》

<Swift开发指南> 基本信息 作者: 关东升    赵志荣 丛书名: 图灵原创 出版社:人民邮电出版社 ISBN:9787115366245 上架时间:2014-8-5 出版日期:2014 年9月 开本:16开 页码:1 版次:1-1 所属分类:计算机 > 软件与程序设计 > 移动开发 > iPhone 更多关于>>> <Swift开发指南> 编辑推荐 国内第一本Swift开发教程 配有同步习题.同步视频教程,并全程展现即将上线的iPhone

【iOS开发】多屏尺的自动适配 AutoLayout (纯代码方式)

关于AutoLayout,最早从iOS6开始引入使用. 主要功能是使用约束,对视图进行相对布局,以适应不同屏尺的变换. 网上大量的资料都在介绍xib和storyboard,如何使用AutoLayout,说纯代码使用AutoLayout进行UI布局的越来越少.对于我这个习惯了代码UI布局的人,写个备忘: AutoLayout是什么? 使用一句Apple的官方定义的话 AutoLayout是一种基于约束的,描述性的布局系统. Auto Layout Is a Constraint-Based, De

iOS: 学习笔记, 用代码驱动自动布局实例(swift)

iOS自动布局是设置iOS界面的利器.本实例展示了如何使用自动布局语言设置水平布局, 垂直布局1. 创建空白iOS项目(swift)2. 添加一个控制器类, 修改YYAppDelegate.swift文件 @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(application: UIApplication, didFi

(源码推荐)快速开发10几天时间纯代码高仿《内涵段子》

这个项目是用OC编写,如果有的朋友已经下载下来看了这个项目, 就会意识到这个项目没有一个storyboard或者是nib,不是因为不喜欢用storyboard或者nib,而是因为一直以来就想用纯代码写个项目,(好远大的梦想..开玩笑的..),但是项目是写出来的,光想不做不写是不行的,所以我就开始我的”内涵之旅“了. Github 地址 https://github.com/Charlesyaoxin/NeiHanDuanZI 日志: 8.30号:没怎么做东西,就是搭建了项目的架构,拉入了之前经常

iOS开发——OC篇&amp;纯代码退出键盘

关于iOS开发中键盘的退出,其实方法有很多中,而且我也学会了不少,包括各种非纯代码界面的退出. 其实这里纯代码界面推出如果用到Xib何Storyboard上面去还是一样的思路操作,只不过笔者在开发的时候是在纯代码界面遇到的问题,所以久以此命名. 下面大家介绍怎么在纯代码的情况下,退出(隐藏)键盘,Xib和StoryBoard情况下这里就不解释了(照此思路). 一:UITextField 关于UITextFiel个人感觉又很多中方法,但是最近开发中我用的最多的也就是这两种,根据和已经在公司上班的同

iOS纯代码自动布局的那些事(简介)

由于本人也是才开始学习自动布局,所以可能会出现错误,请大家多多包含,并指出错误 关于自动布局,现在很多介绍用xib和storyboard,但是纯代码使用Autolayout越来越少了 下面主要大概的介绍下这几天学习纯代码使用Autolayout的一些可能有用的东西吧. 首先先创建3个UIView 并对view进行初始化 在使用自动布局之前要对子视图的布局方式进行调整,用到 translatesAutoresizingMaskIntoConstraints这个UIView的属性,并且把它设置为no