基础控件属性及方法整理 --> UIButton

唉 = = 各种控件 各种属性 别人关键时刻都能记住 我不行 还是写写blog吧 - - 起码不用百度了 - - 日常更新 工作较忙则鸽 = = 今天是Button

UIButton属性

  1. UIButton状态:
UIControlStateNormal          // 正常状态 
UIControlStateHighlighted     // 高亮状态 
UIControlStateDisabled        // 禁用状态 
UIControlStateSelected        // 选中状态 
UIControlStateApplication     // 
UIControlStateReserved        // 保留状态
  1. Uibutton类型:
UIButtonTypeCustom            //自定义类型
 添加图片:  灰色背景颜色:
UIButtonTypeRoundedRect       //圆角类型

UIButtonTypeDetailDisclosure   //细节展示按钮

UIButtonTypeInfoLight          //浅色背景的信息按钮

UIButtonTypeInfoDark           //暗色背景的信息按钮

UIButtonTypeContactAdd         // 添加按钮

3.UIButton常用属性
给按钮设置文字时,苹果文档说明,不能使用label对象设置文字的颜色或者阴影颜色,相反必须使用setTitleColor:forState: and setTitleShadowColor:forState:这两个方法才能修改这些值。

//设置按钮文字大小
btn.titleLabel.font = [UIFont systemFontOfSize: 14.0];

设置按钮中其他属性依次类推。。。。

//设置对应状态的标题内容default is nil. title is assumed to be single line
- (void)setTitle:(NSString *)title forState:(UIControlState)state; //设置对应状态的标题颜色 - (void)setTitleColor:(UIColor *)color forState:(UIControlState)state; //设置对应状态的标题阴影颜色 - (void)setTitleShadowColor:(UIColor *)color forState:(UIControlState)state; //设置对应状态的按钮的图片 - (void)setImage:(UIImage *)image forState:(UIControlState)state; //设置对应状态的按钮背景图片 - (void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state;

添加事件

- (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
这些事件都是基于触摸、基于值、基于编辑。有如下事件会触发。
在点击按钮是按钮是凹下去,然后弹起才触发起事件,按钮的状态有: 
    •   UIControlEventTouchDown      // 按下 
    •      
    •   UIControlEventTouchDownRepeat  多次按下   
    •   UIControlEventTouchUpInside // 在按钮及其一定外围内松开
    •      
    •   UIControlEventTouchUpOutside // 按钮外面松开 

其他属性

  1. adjustsImageWhenDisabled
    当按钮禁用的情况下,图像的颜色会被画深一点,默认为YES。
  2. adjustsImageWhenHighlighted
    当按钮高亮的情况下,图像的颜色会被画深一点,默认为YES。
  3. showsTouchWhenHighlighted
    button.showsTouchWhenHighlighted=YES;点击时的闪光效果会被前景图片遮住中间部分;
  4. contentEdgeInsets
    设置按钮的内部内容(包含按钮图片和标题)离按钮边缘上下左右的距离。

  5. 按钮实例
    1.有些时候我们想让UIButton的title居左对齐,我们设置 
btn.textLabel.textAlignment = UITextAlignmentLeft
    是没有作用的,我们需要设置
    btn.contentHorizontalAlignment = UIControlContentHorizonAlignmentLeft;
    但是问题又出来,此时文字会紧贴到左边框,我们可以设置
    btn.contentEdgeInsets = UIEdgeInsetsMake(0,10, 0, 0);
    使文字距离左边框保持10个像素的距离。

最近才开始往github上放东西 在公司写的又不能放= = 大家姑且看看吧

github地址: https://github.com/FuThD

你可能感兴趣的:(UIButton,控件)