zoukankan      html  css  js  c++  java
  • OC常用属性

    一、UIView常见属性
    1.frame  位置和尺寸(以父控件的左上角为原点(00))
    2.center 中点(以父控件的左上角为原点(00))
    3.bounds  位置和尺寸(以自己的左上角为原点(00))
    4.transform  形变属性(缩放、旋转)
    5.backgroundColor 背景颜色
    6.tag  标识(父控件可以根据这个标识找到对应的子控件,同一个父控件中的子控件tag不要一样)
    7.hidden 设置是否要隐藏
    8.alpha  透明度(0~19.opaque 不透明度(0~110.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
    三、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> 下面两个方法需要交给子类去重写
    // 返回内部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;
  • 相关阅读:
    [CSS] prefers-reduced-motion
    [VSCode] Adding Custom Syntax Highlighting to a Theme in VSCode
    Subversion/Git/ReviewBoard工作流程
    oracle hints
    Node.js学习(10)----文件系统fs
    网络子系统41_inet_peer平衡二叉树的删除
    由链表初始化看C语言的二级指针
    挣值管理不是搞数字游戏(4)——让挣值管理实用!
    关于数据库一致改关闭下redo日志文件丢失的处理办法的总结
    Android 操作系统的内存回收机制
  • 原文地址:https://www.cnblogs.com/needly/p/3401134.html
Copyright © 2011-2022 走看看