美文网首页
UIKit控件总结

UIKit控件总结

作者: 飞龙之城 | 来源:发表于2023-09-18 22:37 被阅读0次

    一、UIView控件

    1.常见属性

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

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

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

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

    (5)backgroundColor:UIView的背景颜色

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

    (7)hidden:设置是否要隐藏

    (8)alpha:透明度(0~1)

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

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

    (11)superview:UIView的父控件

    (12)subviews:UIView的子控件

    (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继承于UIView,而继承了UIControl的控件,可以简单处理一些事件(点击事件、值改变事件)

    2.继承了UIControl的子类包括UIButton、UISlider、UISwitch、UIDatePicker等等

    3.UIControl的常用属性

    (1) enabled:能否响应事件,跟UIView的userInteractionEnabled属性类似

    (2) contentVerticalAlignment:内容在垂直方向上的排布方式

    (3) contentHorizontalAlignment:内容在水平方向上的排布方式

    4.常用方法

    (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 = @“你好,ios;

    - (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)下面这些方法可以获取不同状态下的一些属性值

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

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

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

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

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

    (6)下面两个方法需要交给子类去重写

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

    - (CGRect)titleRectForContentRect:(CGRect)contentRect;

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

    - (CGRect)imageRectForContentRect:(CGRect)contentRect;

    六、UIImage类可拉伸图片的方法

    (1)可拉伸的图片,拉伸后返回该图片,传入参数是不拉伸的位置及长度

    - (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets

    (2)可拉伸的图片,拉伸后返回该图片,capInsets表示不拉伸的位置及长度,resizingMode表示拉伸区域的拉伸模式 (瓦片平铺、拉伸)

    - (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode

    相关文章

      网友评论

          本文标题:UIKit控件总结

          本文链接:https://www.haomeiwen.com/subject/cvtnvdtx.html