博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OC常用属性
阅读量:5016 次
发布时间:2019-06-12

本文共 2944 字,大约阅读时间需要 9 分钟。

一、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 (^)(BOOL finished))completion三、UIControl1.只要继承了UIControl,就能简单处理一些事件(点击事件、值改变事件)2.继承了UIControl的子类:UIButton、UISlider、UISwitch、UIDatePicker等等3.当需要监听一个子控件事件的时候,解决步骤:1> 先看它是否继承自UIControl2> 再看它内部是否有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,自动换行)五、UIButton1.常见属性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> 下面两个方法需要交给子类去重写// 返回内部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;

 

转载于:https://www.cnblogs.com/needly/p/3401134.html

你可能感兴趣的文章
【hibernate】1、Hibernate的一个注解 @Transient
查看>>
HihoCoder 1877 - Approximate Matching
查看>>
Elastic Search 语法总结
查看>>
yii2 源码分析1从入口开始
查看>>
Leetcode 128. Longest Consecutive Sequence
查看>>
C# 线程手册 第五章 扩展多线程应用程序 - 什么是线程池
查看>>
考研路茫茫--单词情结 - HDU 2243(AC自动机+矩阵乘法)
查看>>
HTTP运行期与页面执行模型
查看>>
tableView优化方案
查看>>
近期思考(2019.07.20)
查看>>
android中不同版本兼容包的区别
查看>>
在 mvc4 WebApi 中 json 的 跨域访问
查看>>
敏捷开发文章读后感
查看>>
xposed获取context 的方法
查看>>
He who hesitates is Lost
查看>>
关于<form> autocomplete 属性
查看>>
LeetCode:组合总数III【216】
查看>>
虚函数的效率问题
查看>>
收缩SqlServer数据库日记方法
查看>>
每日英语:15 places to find inspiration
查看>>