zoukankan      html  css  js  c++  java
  • UIView常见属性总结

    一 UIVIew 常见属性
    1.frame 位置和尺寸(以父控件的左上角为原点(0,0))
    2.center 中点 (以父控件的左上角为原点(0,0))
    3.bounds 位置和尺寸(以自己的左上角为原点 (0,0))
    4.transform 形变属性(缩放,旋转)
    5.backgroundColor 背景颜色
    6.tag 标识(父控件可以根据这个标识找到对应的子控件,同一个父控件中的子控件不要一样)
    7. hidden 设置是否要隐藏
    8.alpha 透明度(0~1);
    9.opaque 不透明度(0~1);
    10.userInteractionEnabled 能否跟用户进行交互(YES 能交互)
    11.superView 父控件
    12.subviews 子控件
    13.contentMode 内容显示的模式 拉伸自适应
    
    
    [view viewWithTag:10];
    [
        btn1 9
        btn2 10
        imageView 2 10
     ]
    
    二.UIView常见方法
    1.addSubview
    添加子控件,被添加到最上面(subviews中的最后面)
    
    2.removeFromSuperview
    从父控件中移除
    
    3.viewWithTag:
    父控件可以根据这个tag 标识找到对应的控件(遍历所有的子控件)
    
    4.insertSubview:atIndex:
    添加子控件到指定的位置
    
    5.利用两个类方法来执行动画的两个方法
    +(void) beginAnimations:(NSString *)animationID context:(void *)context;
    /**..需要执行动画的代码..**/
    +(void) commitAnimations;
    
    6.利用blok 执行动画
    /*
     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 能否处理时间
    2>contentVerticalAlignment 内容在垂直方向上的排布方式
    3>contentHorizontalAlignment 内容在水平方向上的排布方式
    5.常用方法
    1> 添加监听器
    /*
     target 监听器对象
     action 事件触发时所调用的方法,调用target的方法
     */
    -(void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
    
    2> 删除监听器
    //删除监听器后,事件触发时就不会再通知监听器了,也就不会再调用target的action方法了
    -(void roemoveTarget:(id)target action:](SEL)action forControlEvents:](UIControlEvents) controlEvents);
    
    3> 获得所有的监听器对象
    -(NSSet *) allTargets;
    
    四,UILabel
    1.常见属性
    1>text 所显示的文本内容
    2>textColor 文本颜色
    3> font 字体
    4> shadowColor 文字的阴影颜色
    5> shadowOffset 阴影的偏差距离(width水平方向的偏差距离,height垂直方向的念头距离,正数下边)
    6> textAlignment 设置文字的排布方法(偏左,偏右,居中).
    7>numberOfLines 允许文字最多有几行数(如果为0,自动换行).
    五.UIButton
    //.UISlider .UISwitch .UIDatePicker等等
    1.常见属性
    
    1>titleLabel 获取内部的UILabel 对象
    2>imageView 获取内部的UIImageView对象
    
    2.常见方法
    1>设置内部UILabel 显示的文本内容
    //设置按钮文本的时候不能 btn .titleLabel.text  = @"4324324";
    - (void)setTitle:(NSString *)title forState:(UIControlState)state;                     // default is nil. title is assumed to be single line
    
    2> 设置内部UILabel的文字颜色
    - (void)setTitleColor:(UIColor *)color forState:(UIControlState)state UI_APPEARANCE_SELECTOR; // default if nil. use opaque white
    3>设置内部UILabel 的文字阴影颜色
    - (void)setTitleShadowColor:(UIColor *)color forState:(UIControlState)state UI_APPEARANCE_SELECTOR; // default is nil. use 50% black
    4>设置内部UIImageView的图片
    - (void)setImage:(UIImage *)image forState:(UIControlState)state;                      // default is nil. should be same size if different for different states
    5>设置内部UIImageView的图片
    - (void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state UI_APPEARANCE_SELECTOR; // default is nil
    
    6>下面两个方法需要交给子类去重写
    //返回没物控部UILabel的frame (位置和尺寸)
    -(CGRect)titleRectForContentRect:(CGRect)contentRect;
    //返回内部UIImage的尺寸和位置
    -(CGRect)imageRectForContentRect:(CGRect) contentRect;
    
    7> 下面这些方法可以获取不同状态下的一些属性
    - (NSString *)titleForState:(UIControlState)state;          // these getters only take a single state value
    - (UIColor *)titleColorForState:(UIControlState)state;
    - (UIColor *)titleShadowColorForState:(UIControlState)state;
    - (UIImage *)imageForState:(UIControlState)state;
    - (UIImage *)backgroundImageForState:(UIControlState)state;
    - (NSAttributedString *)attributedTitleForState:(UIControlState)state NS_AVAILABLE_IOS(6_0);
  • 相关阅读:
    为什么要使用 npm?
    scrapy框架使用.Request使用meta传递数据,以及deepcopy的使用,这种三层for循环,就会有deepcopy的问题,
    scrapy download delay, CONCURRENT_REQUESTS
    分布式爬虫部署,爬虫需要什么样的服务器配置,现在爬虫岗位都要会这个
    爬虫的难点不在爬虫,而在对抗
    scrapy框架使用-下载视频,使用you-get模块来下载视频
    scrapy框架使用-爬虫中间件
    4-06python语法基础-内置模块-urllib模块,以及第三方模块requests的使用,cookie字典生成式,切url的末尾字符串
    scrapy框架使用-下载图片,使用urllib,使用requests,使用imagepipeline,
    4-05python语法基础-内置模块-json模块
  • 原文地址:https://www.cnblogs.com/jackluo/p/3901244.html
Copyright © 2011-2022 走看看