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

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

转载请注明:版权全部点击打开链接

接下来学什么:IOS布局笔记二( Visual Format Language 定义水平和垂直约束)

时间: 2024-10-10 08:06:00

IOS布局笔记一(代码实现自己主动布局)的相关文章

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

iOS自动布局是设置iOS界面的利器. 本实例展示了如何使用自动布局语言设置水平布局, 垂直布局 1. 创建空白iOS项目 2. 添加一个控制器类, 修改YYAppDelegate.m文件 #import "YYAppDelegate.h" #import "YYViewController.h" @implementation YYAppDelegate - (BOOL)application:(UIApplication *)application didFin

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

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

iOS界面布局之三——纯代码的autoLayout及布局动画

iOS界面布局之三--纯代码的autoLayout及布局动画 一.引言 关于界面布局,apple的策略已经趋于成熟,autolayout的优势在开发中也已经展现的淋漓尽致.除了使用storyBoard进行布局约束的拖拽,有时我们也需要在代码中进行autolayout的布局设置,Masonry库可以方便的创建约束属性,实际上,我们也没有必要再使用系统原生的代码来创建和设置约束,这篇博客只作为使用的方法备忘.前几篇布局介绍的链接如下: 使用autoresizing进行界面布局:http://my.o

iOS 开发笔记-常用代码片断

常用代码片断,只为了便于记忆 日期格式转换 // 设置数据模型的时间 NSDate *now = [NSDate date]; NSDateFormatter *fmt = [[NSDateFormatter alloc] init]; fmt.dateFormat = @"HH:mm"; msg.time = [fmt stringFromDate:now]; // fmt.dateFormat = @"yyyy-MM-dd HH:mm:ss"; // 结果:20

iOS学习笔记20-纯代码实现页面跳转以微博页面为栗子

首先上预览图 主要的实现逻辑在这里

iOS 自己主动布局教程

springs和struts的问题 你肯定非常熟悉autosizing masks-也被觉得是springs&struts模式.autosizing mask决定了当一个视图的父视图大小改变时,其自身须要做出什么改变.它有一个灵活的或固定不变的margins(struts)吗?它的宽和高要做出什么改变(springs)? 举个样例,一个宽度灵活的视图,假设其父视图边框,那么它也会对应的变宽.一个视图右边拥有固定的margin,那么它的右边缘将会一直粘住其父视图的右边缘. autosizing系统

[iOS笔记]《编写高质量iOS与OS X代码的52个有效方法》:1.熟悉Objective-C

简介: 最近公司项目收尾,可以有时间看看书了.<编写高质量iOS与OS X代码的52个有效方法>这本书讲解了很多iOS开发的技巧和规范,大力推荐! 下面是自己看书时整理的笔记,照惯例先上目录: 目录: 第一章:熟悉Objective-C 第二章:Object.Message.Runtime 第三章:接口与API设计 第四章:Protocol与Category 第五章:内存管理 第六章:Block与GCD 第七章:系统框架 第一章    熟悉Objective-C 第1条:了解Objective

iOS开发中的那些的约定俗成(1)————《编写高质量iOS与OS X代码的52个有效方法》读书笔记(第一章)

iOS开发中的那些的约定俗成(1) ----<编写高质量iOS与OS X代码的52个有效方法>读书笔记(第一章) 前言 "我要成为一个高产的开发人员.""想要混的好,就得多努力." 写这些东西是因为毕竟看了书,但是看书看过去之后,也许印象不是很深刻,有些东西现在也理解不了,那我就把我理解的,现在就可以用到的东西,简单的写出来就好,让自己今后看到就能明白其中的意思. 还有就是锻炼一下表达,编辑能力,慢慢的提升自己,随时随地的都要有一个锻炼的心. 最后当然就

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

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