ios自动布局

iOS UIView Class Translation

我只是一个虾纸丫 提交于 2020-02-28 12:55:23
类 UIView 一个管理屏幕上矩形区域内容的对象。 概述 Views 是你应用的用户界面最基础的组成部分。UIView类定义了对于所有 views 的共有的行为。一个 view 对象在它的边界矩形内渲染内容并且通过内容处理一切的交互行为。UIView 类是一个可以实例化并且用于展示固定背景颜色的具体类。你还可以使 UIView 子类化去描述更加复杂的内容。为了显示 labels,images,buttons 和其他在app内部常见的界面元素,用 UIKit 框架提供的 view 的子类比你自己定义要好。 因为 view 对象你的应用与用户交互的是主要的途径,它们有许多责任。下面列出一小部分: 绘图和动画 Views 用 UIKit 或者 Core Graphics 框架在它的矩形区域内去绘制内容。 某些 view 属性可以设置为新值的动画。 约束和子视图管理 Views 可以包含0个或更多的子视图。 Views 可以调整它们子视图的大小和位置。 使用“自动布局”定义根据视图层次结构中的更改调整视图大小和重新定位视图的规则。 事件处理 一个 view 是 UIResponder 的一个子类,可以响应触摸和其他事件类型。 Views 可以安装手势识别器来处理常见的手势。 Views 可以内嵌到其他的 views 内来创建视图层次结构,这个层次结构提供了一个方便的方式来处理相关内容

开始iOS 7中自动布局教程(一)

我是研究僧i 提交于 2019-12-10 16:28:30
发布于:2013-12-03 13:53 阅读数:85091 到目前为止,如果你的设计相当的复杂,那么你必须编写大量的代码来适应这样的布局。你应该很高兴,现在这样的情况再也不存在了--iOS6为iPhone和iPad带来了一个极好的新特性:自动布局。X “ ” 阅读器 原文: Beginning Auto Layout Tutorial in iOS 7: Part 1 感谢翻译小组成员 @ answer-huang ( 博客 )热心翻译。如果您有不错的原创或译文,欢迎提交给我们,更欢迎其他朋友加入我们的翻译小组(联系qq:2408167315)。 ========================================================================== 提示:团队成员Jatthijs Hollemans(iOS 初级系列作者)已经将这篇文章移植到 iOS7 feast 上 。希望你能够喜欢。 你是否曾经想让你的app在横竖屏方向上看起来都表现良好而受挫?是否在做支持iPhone和iPad屏幕布局界面时几近大小便失禁?今天我将给你带来好消息! 一直为大小相同的屏幕设计一个用户界面并不难,但如果屏幕的尺寸改变的话,UI元素的位置和大小也需要相应的做出改变。 到目前为止,如果你的设计相当的复杂,那么你必须编写大量的代码来适应这样的布局

iOS 12 Auto Layout界面自动布局系列3-使用原生NSLayoutConstraint添加布局约束

三世轮回 提交于 2019-12-08 02:12:05
本系列的第一篇文章介绍了自动布局的基本原理,第二篇文章通过一个简单的例子演示了如何使用Xcode的Interface Builder(简称IB)以可视化方式添加约束。本篇为该系列的第三篇文章,主要介绍如何通过写代码来添加布局约束。 说句题外话,不论是通过IB可视化加约束,还是写代码加约束,这两种方式各有优劣。写代码加约束是最基础最灵活的方式,但缺点是当界面较复杂时代码量会很繁冗易错。而通过IB可视化方式设置约束,操作简单直观,并支持在设计器中实时预览布局效果,但缺点是并非所有约束都能用IB来添加,而且不容易后期维护。所以掌握写代码添加自动布局约束是非常必要的。原本这篇文章是本系列的第二篇,但为了提高读者理解和接受的程度,最终还是把本编放在第三的位置。OK闲言少叙,我们进入正题。 NSLayoutConstraint类的定义 第一篇文章讲到, 每一个布局约束就是一个明确的线性变化规则 ,在数学上是以一次函数的形式表示,即: y = m * x + c   (公式3.1) 例如,对于下图计算器App,若想表达按钮5的顶部与按钮8的底部对齐,根据公式3.1,建立以下线性关系即可: 按钮5.顶部 = 1.0 * 按钮8.底部 + 0.0 这就是一个布局约束。 在UIKit中,每一个布局约束是一个NSLayoutConstraint实例。NSLayoutConstraint类的定义如下:

iOS 12 Auto Layout界面自动布局系列2-使用Xcode的Interface Builder添加布局约束

醉酒当歌 提交于 2019-12-08 02:09:59
上一篇文章《iOS 12 Auto Layout界面自动布局系列1》简要介绍了iOS界面布局方式的前世今生。本篇文章将详细介绍如何使用自动布局实现不同屏幕尺寸的适配。 添加自动布局约束(下文简称约束)有以下几种方式: 使用Xcode的Interface Builder界面设计器添加并设置约束 通过系统原生的NSLayoutConstraint逐条添加约束 通过可视化格式语言VFL添加约束 使用第三方类库(如Masonry)添加约束 本系列文章将以一个简单的例子来演示如何使用这几种方式添加约束,如下图所示。程序的界面主要由三部分组成,最上面是一张苹果logo图片,下面是可以滚动的区域,包含公司名称和详细介绍。竖屏: 横屏: 打开Xcode(本文使用的版本为10.1),新建项目(快捷键⇧⌘N),选择iOS -> Application -> Single View App。项目可任意命名(如AutoLayoutXcode),语言选择Objective-C。 点击Next完成项目创建。打开Main.storyboard,拖入一个Image View,一个Scroll View以及两个Label,并将两个Label作为ScrollView的子视图。为了便于识别,将Image View的名称改为Logo Image,两个Label的名称修改为Name Label与Description

IOS 6 自动布局 入门 2

拟墨画扇 提交于 2019-12-07 01:50:43
来自Ray:恭喜各位!你们已经通过宣传 ios feast 提前解锁了第一个有关IOS6的教程。 目前这份教程只是我们的新书 iOS 6 By Tutorials 里面某个章节的精简版。这份教程由同样著作过 iOS Apprentice Series 的Matthijs Hollemans 完成,开始体验吧! 这份教程由IOS 教程小组的组员 Matthijs Hollemans 发布, Matthijs 既是一位经验丰富的IOS程序员又是一名资深老到的界面设计者。. 在 这系列教程的第一部分 你见识到了旧的“struts-and-springs” 模式不能简单的解决所有的用户界面布局问题。新的IOS 6特征是一种解决方案,但因为这个技术是如此的有效,它使用起来还是有点小棘手的。在这系列教程的第二部分也是最后一部分, 你将继续学习constraint的概念以及如何运用他们! 大胆尝试constraint 也许你已经注意在canvas里面到有些T型状对象看上去比其他的要粗一点。这些加粗的,我们称之为 user constraints ,你删除它们后的效果和删除细的是不同的。当你删除一个 user constraints ,Interface Builder经常会自动在删除的地方放置一个不可删除的constraint来代替之。我马上就会讲到为什么会这样。 在文档概要图中,user

IOS 6 自动布局 入门-1

ⅰ亾dé卋堺 提交于 2019-12-07 01:50:19
来自Ray:恭喜各位!你们已经通过宣传ios feast提前解锁了第一个有关IOS6的教程。 目前这份教程只是我们的新书iOS 6 By Tutorials里面某个章节的精简版。这份教程由同样著作过iOS Apprentice Series 的Matthijs Hollemans 完成,开始体验吧! 这份教程由IOS 教程小组的组员 Matthijs Hollemans 发布, Matthijs 既是一位经验丰富的IOS程序员又是一名资深老到的界面设计者。 你是否曾经因为尝试想让你的应用同时在景观方向(横版)以及肖像方向(竖版)看上去不错而感到受挫?是否为了让应用同时支持iPhone以及iPad的模型尺寸而抓狂?现在我们可以不用为此而担心了,我有个好消息带给大家! 通常来说,如果屏幕是固定尺寸,那么设计它的用户界面不会很难,但如果屏幕的frame需要能够变化,那么其中各个UI元素的位置以及尺寸也必须为了适应新的尺寸做相应的变化。 目前为止,即使你的界面设计是在合理的复杂度内,你也必须要为之写许多代码来适应变化的布局。现在我相信你会很高兴听到这种情况将不会发生了-对于iPhone与iPad IOS6 带来了一个非常了不起的特征:自动布局。 自动布局不仅能给你的应用带来各种屏幕尺寸设计的支持,做为额外的惊喜,它还能使设计中的各种小事比如多语言环境支持

IOS --Xcode6 自动布局

ぃ、小莉子 提交于 2019-12-01 05:25:10
一、自动布局(autolayout) 一款ios app最主要的UI组件是由一个个相对独立的可视化单元组成,例如view、label、button等。这些可视化单元的关系由两个基本关系构成:兄弟关系和父子关系。 对于任何一个UI组件,确定了它的位置(相对于父级或兄弟级)、大小也就确定了它在整个UI视图中的展现效果。 Autolayout(以及在ios8中新增的sizeclass)是为了解决这些UI可视单元的布局、排列问题。iphone5以前,苹果尺寸大小一样,我们可以将一个可视单元的位置写死,这样是没问题的,但是如今,随着iphone5 和iphone6的发布,苹果尺寸有多种可能,这就要求我们app的UI元素具有在屏幕尺寸不同的设备上具有一定动态的可调性。目前苹果推出的最好的解决方案就是使用autolayout和sizeclass组合对UI可视单元进行全方位的调整,通过这样整个app能满足不同设备、不同应用场景的需求。 Autolayout的作用是:帮助开发人员确定在不同设备环境下,同一可视单元所应具有合适的位置和尺寸。因此,当一个控件(例如:UIView、Button)上施加的约束能够唯一确定它的frame(x,y,width,hight)的时候,我们的自动布局才是正确的。我们常常容易犯约束不足(约束太少)和约束冲突(约束太多)两种错误,例如

iOS Auto Layout

心不动则不痛 提交于 2019-11-30 14:32:04
在Interface Bulider 上有三种方式可以设置约束:你可以通过按住 control 键并拖拽设置约束,可以通过 Pin 和 Align 这两个工具设置约束,还可以让 Interface Builder 自动设置约束,然后在这基础上手动做一些改变。每一种设置方式都有它的优势与劣势。大部分开发者比较倾向于只是用一种方式。但是,熟悉三种方式的使用,能够让你在开发过程中根据实际需求进行快速切换,提高效率。 你可以这样将三种方式配合使用。首先从 Object library 中拖拽几个 view 和控件到画布上。根据你的需要改变他们的大小和位置。当你将 view 放到画布上之后,Interface Builder 会以左上角为基准,自动创建一些约束来定义 view 的大小和位置。 你的 APP 在使用默认约束的情况下,可以正常编译和运行。先通过设置这些约束,对界面进行测试和预览,然后根据你自己的需求使用新的约束替换到默认约束。永远不要直接在 APP 中使用系统默认设置的约束。 一旦你创建了自己的约束,被影响到的系统的默认的约束会被移除掉。没有了原来的这些约束,就不能再准确地定义 view 的大小和位置。这样就编程一个模糊不清的布局。被影响的约束会突然变成红色,Xcode 也会报出一些警告。 不要慌,你可以逐条添加约束,直到完成布局。一旦你添加了一条约束,你需要按照你的布局方式

iOS开发技巧 autolayout自动布局

℡╲_俬逩灬. 提交于 2019-11-30 10:06:11
iOS开发技巧(系列十五:autolayout自动布局) 发表于3个月前(2014-06-14 13:59) 阅读( 121 ) | 评论( 1 ) 6 人收藏此文章, 我要收藏 赞0 摘要 autolayout可以方便的进行屏幕适配 ios autolayout constraints 自动布局 autolayout自动布局技术在iOS6就已经推出了,但是因为很多人一开始不习惯使用xib编程,而是坚持使用代码布局控件,所以autolayout并没有普及的太快。但是现在随着越来越多的人开始使用xib,怎样适配不同屏幕的尺寸和横竖屏,成了亟待解决的问题,好在两年前就已经推出并且日臻完善的xib autolayout技术可以完美的解决。 首先需要说下需求:需要登陆LoginViewController视图View上面的控件居中显示。 下面我就以一个简单的例子,来简要说明使用autolayout的小技巧, (1)拖拉一个View到LoginViewController.xib的视图上面,调整高度为300,我下面都称其为MiddleView吧,如下图所示, 为了让图片垂直 居中 显示,我们可以通过键盘的上(↑)下(↓)按键移动View。 (2)拖两个UITextField和一个UIButton到View上面,同时设置了MiddleView的背景色为LightGray,如下图所示, (3