一、UIView常见属性

1.frame  位置和尺寸(以父控件的左上角为原点(0,0))

2.center 中点(以父控件的左上角为原点(0,0))

3.bounds  位置和尺寸(以自己的左上角为原点(0,0))

4.transform  形变属性(缩放、旋转)

5.backgroundColor 背景颜色

6.tag  标识(父控件可以根据这个标识找到对应的子控件,同一个父控件中的子控件tag不要一样)

7.hidden 设置是否要隐藏

8.alpha  透明度(0~1)

9.opaque 不透明度(0~1)

10.userInteractionEnabled  能否跟用户进行交互(YES能交互)

11.superview 父控件

12.subviews 子控件

13.contentMode 内容显示的模式

二、UIView常见方法

1.addSubview:

添加子控件,被添加到最上面(subviews中的最后面)

2.removeFromSuperview

从父控件中移除

3.viewWithTag:

父控件可以根据这个tag标识找到对应的子控件(遍历所有的子控件)

4.insertSubview:atIndex:

添加子控件到指定的位置

5.利用两个类方法执行动画

+ (void)beginAnimations:(NSString *)animationID context:(void *)context;

/* ...需要执行动画的代码..*/

+ (void)commitAnimations;

6.利用block执行动画

/*

duration 动画持续时间

animations 存放需要执行动画的代码

completion  存放动画完毕后需要执行的操作代码

*/

+ (void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations completion:(void (^)(BOOLfinished))completion

三、UIControl

1.只要继承了UIControl,就能简单处理一些事件(点击事件、值改变事件)

2.继承了UIControl的子类:

UIButton、UISlider、UISwitch、UIDatePicker等等

3.当需要监听一个子控件事件的时候,解决步骤:

1> 先看它是否继承自UIControl

2> 再看它内部是否有delegate属性

4.常用属性

1> enabled 能否处理事件,跟UIView的userInteractionEnabled属性类似

2> contentVerticalAlignment 内容在垂直方向上的排布方式

3> contentHorizontalAlignment 内容在水平方向上的排布方式

5.常用方法

1> 添加监听器

/*

target 监听器对象

action  事件触发时所调用的方法,调用target的方法

controlEvents 事件类型

*/

- (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;

2> 删除监听器

// 删除监听器后,事件触发时就不会再通知监听器了,也就不会再调用target的action方法了

- (void)removeTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;

3> 获得所有的监听器对象

- (NSSet *)allTargets;

四、UILabel的常见属性

1.text 所显示的文本内容

2.textColor  文本颜色

3.font  字体

4.shadowColor 文字的阴影颜色

5.shadowOffset 阴影的偏差距离(width水平方向的偏差距离,正数右边、height垂直方向的偏差距离,正数下边)

6.textAlignment  设置文字的排布方式(偏左、偏右、居中)

7.numberOfLines 允许文字最多有几行(默认是1,如果为0,自动换行)

五、UIButton

1.常见属性

1> titleLabel 获取内部的UILabel对象

2> imageView 获取内部的UIImageView对象

2.常见方法

1> 设置内部UILabel显示的文本内容

// 设置按钮文本的时候不能  btn.titleLabel.text = @"4324324";

- (void)setTitle:(NSString *)title forState:(UIControlState)state;

2> 设置内部UILabel的文字颜色

- (void)setTitleColor:(UIColor *)color forState:(UIControlState)state;

3> 设置内部UILabel的文字阴影颜色

- (void)setTitleShadowColor:(UIColor *)color forState:(UIControlState)state;

4> 设置内部UIImageView的图片

// 设置内部UIImageView的图片不能:btn.imageView.image = [UIImage imagedName:@"0.png"];

- (void)setImage:(UIImage *)image forState:(UIControlState)state;

5> 设置背景图片

- (void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state;

6> 下面两个方法需要交给子类去重写,然后用于重新布局button。

// 返回内部UILabel的frame(位置和尺寸)

- (CGRect)titleRectForContentRect:(CGRect)contentRect;

// 返回内部UIImageView的frame(位置和尺寸)

- (CGRect)imageRectForContentRect:(CGRect)contentRect;

7> 下面这些方法可以获取不同状态下的一些属性值

- (NSString *)titleForState:(UIControlState)state;

- (UIColor *)titleColorForState:(UIControlState)state;

- (UIColor *)titleShadowColorForState:(UIControlState)state;

- (UIImage *)imageForState:(UIControlState)state;

- (UIImage *)backgroundImageForState:(UIControlState)state;

IOS UI总结的更多相关文章

  1. [IOS]IOS UI指南

    [IOS]IOS UI指南 众所周知,IOS的界面设计,越来越流行,可以说都形成了一个标准,搜集了一些资料,供自己以后学习使用! iOS Human Interface Guidelines (中文翻 ...

  2. IOS UI 第八篇:基本UI

    实现图片的滚动,并且自动停止在每张图片上     - (void)viewDidLoad{    [super viewDidLoad]; UIScrollView *scrollView = [[U ...

  3. 国外IOS UI指南

    国外IOS UI指南 众所周知,IOS的界面设计,越来越流行,可以说都形成了一个标准,搜集了一些资料,供自己以后学习使用! iOS Human Interface Guidelines (中文翻译) ...

  4. iOS UI的几种模式

    iOS UI的几种模式: 1.平凡模式(原生控件组合): 2.新闻模式: 3.播放器模式: 4.微博模式:

  5. 通过实现一个TableView来理解iOS UI编程

    推荐一篇神作: 通过实现一个TableView来理解iOS UI编程 http://blog.jobbole.com/61101/

  6. [iOS UI设计笔记整理汇总]

    8.UIsearchbar放到Navigationbar 上(意思是建个View作为titleview) //此处调用的是第三方封装的SearchBar,也可以自定义. self.searchBarW ...

  7. iOS UI高级之网络编程(HTTP协议)

    HTTP协议的概念 HTTP协议,Hyper Text Transfer Protocol (超文本传输协议)是用于从万维网服务器传送超文本到本地浏览器的传输协议,HTTP是一个应用层协议,由请求和响 ...

  8. iOS - UI - UIWebView

    1.UIWebView UIWebView 是 苹果提供的用来展示网页的UI控件.它也是最占内存的控件. iOS8.0 webkit框架. WKWebView,相比UIWebView,节省了1/3~1 ...

  9. [iOS UI进阶 - 0] Quiartz2D

    A.简介 1. 需要掌握的 drawRect:方法的使用 常见图形的绘制:线条.多边形.圆 绘图状态的设置:文字颜色.线宽等 图形上下文状态的保存与恢复 图形上下文栈 1.基本图形绘制* 线段(线宽. ...

  10. iOS UI布局调试工具

    查看ios软件的ui布局有三种: 1.DCIntrospect    这种方式是开源的,我从github上clone下来后运行demo,运行遇到了问题:Xcode cannot run using t ...

随机推荐

  1. 移动互联网消息推送原理:长连接+心跳机制(MQTT协议)

    互联网推送消息的方式很常见,特别是移动互联网上,手机每天都能收到好多推送消息,经过研究发现,这些推送服务的原理都是维护一个长连接(要不不可能达到实时效果),但普通的socket连接对服务器的消耗太大了 ...

  2. tomcat 7下spring 4.x mvc集成websocket以及sockjs完全参考指南(含nginx/https支持)

    之所以sockjs会存在,说得不好听点,就是因为微软是个流氓,现在使用windows 7的系统仍然有近半,而windows 7默认自带的是ie 8,有些会自动更新到ie 9,但是大部分非IT用户其实都 ...

  3. [矩阵十题第七题]vijos 1067 Warcraft III 守望者的烦恼 -矩阵快速幂

    背景 守望者-warden,长期在暗夜精灵的的首都艾萨琳内担任视察监狱的任务,监狱是成长条行的,守望者warden拥有一个技能名叫“闪烁”,这个技能可以把她传送到后面的监狱内查看,她比较懒,一般不查看 ...

  4. 用GDB调试Segmentation 段错误【转】

    本文转载自:http://blog.csdn.net/learnhard/article/details/4879834 调试Linux程序的时候,出现Segmentation Fault是最郁闷的事 ...

  5. PyQt5 - 01 使用qt creator创建第一个pyqt5界面程序

    1. 安装Qt Creator qt creator下载点我 2. 利用Qt Creator创建界面 点击文件 -> 新建文件或项目 选择Qt -> Qt设计师界面类 选择一个模版,创建一 ...

  6. shell脚本中如何使scp不输入密码即可传输文件

    答:使用ssh密钥对 示例如下: 如果A机想要获取B机上的文件,那么需要将在A机上生成的公钥放置到B机上的指定位置~/.ssh/authorized_keys 问题一: 如何在A机上生成ssh密钥对? ...

  7. redis linux版本自定义安装目录、注册服务、自启动设置、一台计算机安装多个redis

    自定义安装目录并安装 1.mkdir /usr/local/redis 2.下载redis到 /usr/local/src/,解压,进入解压后的目录 3.安装到指定目录 make PREFIX=/us ...

  8. 【基础知识】ActiveMQ基本原理

    “来,根据你的了解说下 ActiveMQ 是什么.” “这个简单,ActiveMQ 是一个 MOM,具体来说是一个实现了 JMS 规范的系统间远程通信的消息代理.它……” “等等,先解释下什么是 MO ...

  9. 【异常记录(九)】 System.Threading.ThreadAbortException: 正在中止线程

    报错如下: System.Threading.ThreadAbortException: Thread was being aborted. at System.Threading.Thread.Ab ...

  10. UVa 1614 奇怪的股市

    https://vjudge.net/problem/UVA-1614 题意:输入一个长度为n的序列a,满足1<=ai<=i,要求确定每个数的正负号,使得所有数的总和为0. 思路:贪心部分 ...