上图出现的一系列的都是按钮,一般我们在做项目的时候判断按钮的标准是: 当点击的时候能够做出相应反应的一般都是按钮
按钮的功能能比较多:既能显示文字 又能显示图片 而且我们还可以自定义按钮 调整图片和文字的位置和排列方式
//设置对应状态的标题内容 - (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;
注意:
给按钮设置文字时,苹果文档说明,不能使用label对象设置文字的颜色或者阴影颜色,相反必须使用setTitleColor:forState: and setTitleShadowColor:forState:这两个方法才能修改这些值。
为按钮添加事件 用以下方法
添加事件 - (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents; 这些事件都是基于触摸、基于值、基于编辑。有如下事件会触发。 在点击按钮是按钮是凹下去,然后弹起才触发起事件,
按钮的事件状态有以下几种:
adjustsImageWhenDisabled 当按钮禁用的情况下,图像的颜色会被画深一点,默认为YES。
adjustsImageWhenHighlighted 当按钮高亮的情况下,图像的颜色会被画深一点,默认为YES。
showsTouchWhenHighlighted 如果设置为YES 点击时的闪光效果会被前景图片遮住中间部分;
contentEdgeInsets 设置按钮的内部内容(包含按钮图片和标题)离按钮边缘上下左右的距离。
说到contentEdgeInset不得不说下下面两个属性:
有些时候我们想让UIButton的title居左对齐,我们设置 ?btn.textLabel.textAlignment = UITextAlignmentLeft 是没有作用的
我们需要设置 btn.contentHorizontalAlignment = UIControlContentHorizonAlignmentLeft;
但是问题又出来,此时文字会紧贴到左边框,我们可以设置 btn.contentEdgeInsets = UIEdgeInsetsMake(0,10, 0, 0); 使文字距离左边框保持10个像素的距离。
好了今天 就分享到这里了 如果你有更好的建议 请留言评论! 谢谢支持
原文:http://www.cnblogs.com/syios/p/4637709.html