IOS基本控件常用属性及方法(四)---UIButton

时间:2021-01-13 19:04:49
1.UIButton状态:
UIControlStateNormal // 正常状态
UIControlStateHighlighted // 高亮状态
UIControlStateDisabled // 禁用状态
UIControlStateSelected // 选中状态
UIControlStateApplication // 当应用程序标志时
UIControlStateReserved // 保留状态


2.UIButton类型:

UIButtonTypeCustom //自定义类型
UIButtonTypeRoundedRect //圆角类型
UIButtonTypeDetailDisclosure //细节展示按钮
UIButtonTypeInfoLight //浅色背景的信息按钮
UIButtonTypeInfoDark //暗色背景的信息按钮
UIButtonTypeContactAdd // 添加按钮


3.UIButton常用属性设置与取得


//设置对应状态的标题内容

- (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;

//获得按钮的文字
- (NSString *)titleForState:(UIControlState)state;

//获得按钮的文字颜色
- (UIColor *)titleColorForState:(UIControlState)state;

//获得按钮内部的小图片
- (UIImage *)imageForState:(UIControlState)state;

//获得按钮的背景图片
- (UIImage *)backgroundImageForState:(UIControlState)state;


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

4.adjustsImageWhenDisabled

当按钮禁用的情况下,图像的颜色会被画深一点,默认为YES。


5.adjustsImageWhenHighlighted

当按钮高亮的情况下,图像的颜色会被画深一点,默认为YES。


6.showsTouchWhenHighlighted

button.showsTouchWhenHighlighted=YES;点击时的闪光效果会被前景图片遮住中间部分;


6.contentEdgeInsets
设置按钮的内部内容(包含按钮图片和标题)离按钮边缘上下左右的距离。

7.按钮实例
   UIButton的title居左对齐
      btn.contentHorizontalAlignment = UIControlContentHorizonAlignmentLeft;
      btn.contentEdgeInsets = UIEdgeInsetsMake(0,10, 0, 0);   //使文字距离左边框保持10个像素的距离。 

//获得按钮的文字颜色