一、用户界面控件共有三种基本模式:动态、静态(非动态)和被动

动态:点击它们时会发生事情——通常是出发一段自己编写的时间代码。

被动:仅用于存储用户输入的值,以备后续使用。这些控件不会触发任何操作方法,但是用户可以与之交互,并修改它们的值。如:网页上的文本框。虽然可以在离开文本框时出发验证代码,但网页上的文本框都只是保存数据的容器。这些数据在用户点击提交按钮时提交给服务器。文本框本身不会出发是任何代码,但是在点击提交时,可以把文本框的数据一起提交上去。

注意:虽然在IOS中的控件可以触发多个操作方法,但是在大多数情况下,最好是对控件的每一个特殊用途实现唯一的操作方法。虽然通常不会使用这项特性,但是在使用Interface Builder中重新关联事件时要务必留心,确保在关联新的操作方法之前断开之前的关联。

二、视图属性

1.Mode

用于选择内容在视图内部的显示方式。

决定图像在视图内的对齐方式,以及是否缩放图像以适应视图大小

2.Tag

Tag是开发者使用的,系统永远不会设置或修改它的值

设置一个数值,用来助于识别相同的控件,在操作方法被调用时,用来确定通过sender参数传递给操作方法的控件到底是哪个。

3.Interaction

复选框

1)User Interaction Enabled,指定用能否与当前对象进行交互。对大多数控件应该选中,否则无法触发操作方法。

2)Multiple Touch,决定了当前控件能否接受多点触摸事件。

4.Alpha

定义图像的透明度,也就是图像背后内容的可见度。

0.0(完全透明)~1.0(完全不透明)

除非有充分理由,否则一般设置为1.0

5.Background

用于确定视图的背景颜色

对于图像视图来说,只有当图像没有填满整个视图,或者图像某些视图部分透明的情况下,这个属性才起作用。

6.Tint

一些视图在绘制自身的时候用到,用来指定所选视图的高光颜色

7.Drawing

复选框

1)Opaque,默认选中,用于告诉iOS当前视图的背后没有需要绘制的内容,同时允许iOS的绘图方法通过一些优化来加速当前的视图的绘制

2)Hidden,选中用于隐藏某个对象

3)Clears Graphics Context,这项基本不需要选中。如果选中它,iOS会在实际绘制对象之前使用透明的黑色绘制被对象覆盖的所有区域。考虑到性能问题,并且很少有这种需求,所以通常设置为关闭状态(默认情况下可能是选中的)。

4)Clip Subviews,如果你的视图包含子视图,选中的话,只有位于父视图边界内的子视图部分会被绘制出来;如果不选中,不管是否超出父视图边界,子视图都会被完全绘制出来。

如果确实需要,可以启用,但考虑到性能,这个选项默认是关闭的。

5)Autoresize Subviews,它告诉iOS在当前视图的大小发生变化时自动调整子视图的大小。

8.Stretching(拉伸)

只有在屏幕上调整矩形视图大小导致重绘视图时,才需要拉伸。

文本框属性

1.Text

控制文本框总显示的内容

1)纯文本(Plain Text)

2)属性文本(Attributed Text,可以包含各种字体和不同的属性)

2.Color

设置字体颜色

3.Font

用于设置文本大小和各种字体属性

4.Alignment

用于控制文本框中文本的对齐方式

5.Placeholder

占位符,当文本框的内容为空时,可以以灰色的文本显示在文本框中,告诉用户应在这个字段中输入什么内容。

如果空间不足,可以使用占位符来代替标签。

6.Background

7.Disabled

上面两个字段仅在需要定制文本框外观时使用。多数情况下,完全不必要也不建议使用。

8.Border Style

用于更改文本框边框的绘制方式(默认值,即最右边的按钮最常用)

9.Clear Button

用于设置清除按钮,是出现在文本框最右边的一个X型小按钮。

通常用在搜索框和其他需要频繁更改内容的字段中,需要持久存储数据的文本框一般不包含清除按钮。

1)Clear when editing begins复选框,指定用户触摸此字段时是否清除已有的文本

10.Min Font Size

设置文本框在显示文本时可使用的最小字号

1)Adjust to Fit复选框可以指定显示文本是否应随文本框的尺寸的变化而变化(默认勾选)

11.Capitalization

用于定义使用此文本框时键盘的外观及行为

若选中Words,可以保证每个输入的单词都会自动转换为首字母大写。

12.Correction校验

13.Spell Checking拼写检查

14.Keyboard Type键盘类型

15.Appearance外观

16.Return Key

这是虚拟键盘右下方的一个键,他的变迁会根据用户正在进行的操作发生变化。如:在搜索框中输入文本,就会显示Search

✨为视图控制器中所有的视图添加约束,方法是在文档略图中选中视图控制器并点击Editor -> Resolve Auto Layout Issues -> Add Missing Constrains菜单选项。

使用上面菜单添加约束后要仔细检查,如果没有按照你的预期起作用,就要删除它们,然后手动添加约束。

iOS开发-控件设置的更多相关文章

  1. iOS开发--控件

    iOS知识点整理-提示器 http://www.jianshu.com/p/ac7e13d36e32 iOS知识点整理-RunLoop http://www.jianshu.com/p/e4fc6ac ...

  2. 工具类(为控件设置色值) - iOS

    为了便于日常开发效率,因此创建了一些小的工具类便于使用.具体 code 如下:声明: /* 为控件设置色值 */ #import <UIKit/UIKit.h> @interface UI ...

  3. 【VS开发】在VS2010中开发ActiveX控件设置测试容器的方式

    在VS2010中开发ActiveX控件设置测试容器的方式 借鉴文章http://blog.csdn.net/waxgourd0/article/details/7374669 在VS2010中开发MF ...

  4. iOS之用xib给控件设置圆角、边框效果

    xib中为各种控件设置圆角 通过代码的方式设置 @interface ViewController () @property (weak, nonatomic) IBOutlet UIView *my ...

  5. JS调用Android、Ios原生控件

    在上一篇博客中已经和大家聊了,关于JS与Android.Ios原生控件之间相互通信的详细代码实现,今天我们一起聊一下JS调用Android.Ios通信的相同点和不同点,以便帮助我们在进行混合式开发时, ...

  6. IOS—UITextFiled控件详解

    IOS—UITextFiled控件详解 //初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGR ...

  7. Delphi 7学习开发控件

    我们知道使用Delphi快速开发,很大的一方面就是其强大的VCL控件,另外丰富的第三方控件也使得Delphi程序员更加快速的开发出所需要的程序.在此不特别介绍一些概念,只记录自己学习开发控件的步骤.假 ...

  8. [iOS基础控件 - 5.5] 代理设计模式 (基于”APP列表"练习)

    A.概述      在"[iOS基础控件 - 4.4] APP列表 进一步封装,初见MVC模式”上进一步改进,给“下载”按钮加上效果.功能      1.按钮点击后,显示为“已下载”,并且不 ...

  9. iOS常见控件的基本使用

    UI相关类继承关系 UIView 常见属性和方法 UIView属性 UIView方法 UIControl 常用控件 UIImageView 图片显示控件android ImageView UISlid ...

随机推荐

  1. day 2014-04-13

    crystal 10:00:40 米多爸爸 11:51:47 很滋润嘛.一般有送股题材的股票都会在送股消息公告之前炒上一阵子,真到了题材兑现就涨不动了,也有些会在除权后走一波填权行情.现在不是牛市,后 ...

  2. JavaScript DOM高级程序设计 7.向应用程序加入Ajax--我要坚持到底!

    有时候,或许是因为理解能力,也或许是因为浮躁,看东西总是不入心,而且还老是想跳过本节,或者赶紧看完本节,这样的恶性循环,让我在即没有真正的学习到知识,又打击我的学习信心,还浪费了我很多事件,我想,当遇 ...

  3. 第三部分 overlay 学习

    前文仅了解了overlay HAL的架构,下面继续看看系统层是如何调用Overlay模块. 1.测试代码 frameworks/base/libs/surfaceflinger/tests/overl ...

  4. LeetCode Power of Two (2的幂)

    题意:判断1个数n是否刚好是2的幂,幂大于0. 思路:注意会给负数,奇数.对于每个数判断31次即可. class Solution { public: bool isPowerOfTwo(int n) ...

  5. service name和SID的区别

    数据库名(DB_NAME).实例名(Instance_name).以及操作系统环境变量(ORACLE_SID)  在ORACLE7.8数据库中只有数据库名(db_name)和数据库实例名(instan ...

  6. Erlang之IO编程

    Erlang用于操纵文件I/O的模块有:file模块:打开.读.写.关闭文件已经操作目录的方法基本都在这里 filename模块:提供平台独立方式用于操纵文件名 filelib模块:file模块的扩展 ...

  7. 【JMeter】JMeter完成一个java请求的压测

    先定义一下我说的remoteService:即远程调用服务,没有http的url.不对外提供或者对外提供有限的服务.具体视各公司的代码架构所定,比如有些公司为web工程,scf服务,db.scf即为服 ...

  8. 那些年一起踩过的坑 — java 自动装箱拆箱问题

    坑在哪里?   我们都知道Java的八种基本数据类型:int, short, long, double, byte, char, float, boolean   分别有各自对应的包装类型:Integ ...

  9. bzoj 1058 [ZJOI2007]报表统计(set)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1058 [题意] 一个序列,提供插入,查询相邻最小差值,查询任意最小差值的操作. [思路 ...

  10. NOIP2005 篝火晚会

    篝火晚会 (fire.pas/c/cpp) [问题描述] 佳佳刚进高中,在军训的时候,由于佳佳吃苦耐劳,很快得到了教官的赏识,成为了“小教官”.在军训结束的那天晚上,佳佳被命令组织同学们进行篝火晚会. ...