UIButton的详细介绍:

一、按钮具有的属性:

@property(nonatomic,readonly) UIButtonType buttonType;  //按钮形状类型

@property(nonatomic,readonly,retain) NSString *currentTitle;    //按钮当前文字

@property(nonatomic,readonly,retain) UIColor  *currentTitleColor;     //按钮当前文字颜色

@property(nonatomic,readonly,retain) UIColor  *currentTitleShadowColor;  //按钮文字当前阴影颜色

@property(nonatomic,readonly,retain) UIImage  *currentImage;             //按钮当前前景图片

@property(nonatomic,readonly,retain) UIImage  *currentBackgroundImage;    //按钮当前背景图片

@property(nonatomic,readonly,retain) NSAttributedString *currentAttributedTitle //按钮文字当前属性

@property(nonatomic,readonly,retain) UILabel     *titleLabel    //按钮标签

@property(nonatomic,readonly,retain) UIImageView *imageView  //按钮视图

@property(nonatomic) UIControlContentVerticalAlignment contentVerticalAlignment;    //按钮垂直放置方式

@property(nonatomic) UIControlContentHorizontalAlignment contentHorizontalAlignment; //按钮水平放置方式

@property(nonatomic,readonly) UIControlState  //按钮状态类型

二、设置按钮的属性值

- (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)setAttributedTitle:(NSAttributedString *)title forState:(UIControlState)state  //设置按钮文字属性

三、按钮的状态类型

按钮类型UIControlState:

UIControlStateNormal          //正常类型

UIControlStateHighlighted    //高亮类型

UIControlStateDisabled       //禁用类型

UIControlStateSelected       //选中类型

UIControlStateApplication   //当应用程序标识使用时

UIControlStateReserved      //为框架预留的

四、设置按钮形状类型

self.loginBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect];

buttonWithType:  定义button按钮的外形

六种定义button类型: 下面有图解

UIButtonTypeCustom = 0,    无类型

UIButtonTypeRoundedRect,    四个角是圆弧   型的

UIButtonTypeDetailDisclosure,

UIButtonTypeInfoLight,

UIButtonTypeInfoDark,

UIButtonTypeContactAdd,

或者:

[Btn.layer setMasksToBounds:YES];

[Btn.layer setCornerRadius:8.0]; //设置矩圆角半径

[Btn.layer setBorderWidth:1.0];   //边框宽度

CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();

CGColorRef colorref = CGColorCreate(colorSpace,(CGFloat[]){ 1, 0, 0, 1 });

[Btn.layer setBorderColor:colorref];//边框颜色

五、获取按钮的属性

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

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

- (UIColor *)titleShadowColorForState:(UIControlState)state; //获取按钮文字阴影颜色

- (UIImage *)imageForState:(UIControlState)state; //获取按钮前景图片

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

- (NSAttributedString *)attributedTitleForState:(UIControlState)state; //获取按钮文字属性

六、按钮文字放置方式

垂直放置:

UIControlContentVerticalAlignmentCenter   //居中

UIControlContentVerticalAlignmentTop       //置顶

UIControlContentVerticalAlignmentBottom   //置底

UIControlContentVerticalAlignmentFill        //填充

水平放置:

UIControlContentHorizontalAlignmentCenter  //居中

UIControlContentHorizontalAlignmentLeft     //居左

UIControlContentHorizontalAlignmentRight   //居右

UIControlContentHorizontalAlignmentFill      //填充

说明:

(1) 由于按钮有状态类型之分,所以,在给按钮添加文字时,使用button.TitleLabel.Text = @“按钮”这种赋值方式是无效的,在视图中不会显示出来,应该使用[button setTitle:(NSString *)title forState:(UIControlState)

state]这种方式才是有效地。同样设置文字的颜色也是如此:

设置UIButton上字体的颜色设置UIButton上字体的颜色,不是用:

[btn.titleLabel setTextColor:[UIColorblackColor]];

btn.titleLabel.textColor=[UIColor redColor];

而是用:

[btn setTitleColor:[UIColor blackColor]forState:UIControlStateNormal];

(2)获取按钮的文字,应该使用[button currentTitle],如果使用button.titleLabel.Text,其结果并不是你设置的文字内容。同样获取文字的颜色也是如此.[button currentTitleColor]

(3)设置按钮上的字体的大小

[button setFont: [UIFont systemFontSize: 14.0]]; //这种可以用来设置字体的大小,但是可能会在将来的SDK版本中去除改方法

button.titleLabel.font = [UIFont fontWithName:(NSString*)fontName size:14.0]; //应该使用

或者

button.TitleLabel.font = [UIFont systemFontOfSize: 14.0];    //应该使用

(4)有些时候我们想让UIButton的title居左对齐

button.textLabel.textAlignment = UITextAlignmentLeft  //是没有作用的,我们需要设置

button.contentHorizontalAlignment = UIControlContentHorizonAlignmentLeft; //显示居左

但是问题又出来,文字会紧贴到做边框,我们可以设置使文字距离左边框保持10个像素的距离。

button.contentEdgeInsets = UIEdgeInsetsMake(0,10, 0, 0);

程序猿神奇的手,每时每刻,这双手都在改变着世界的交互方式!

原文地址: http://www.cnblogs.com/XYQ-208910/p/4774082.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容

  • 一个UIButton的实例变量, 使一个按钮(button)在触摸屏上生效。一个按钮监听触摸事件,当被点击时,给目...
    wushuputi阅读 1,470评论 0 1
  • 前言:UI控件整理之UIButton 一、显示图片(复选框) UIButton *button = [UIButt...
    心如止水的鱼阅读 261评论 0 0
  • 概述 UIButton的父类是UIControl,UIControl的父类是UIView,UIView的父类是UI...
    guaker阅读 2,765评论 1 9
  • 字数1443 阅读548 评论5 喜欢36UIButton 的全面解析建议收藏,用到的时候来这里一查就都明白了 初...
    xiao小马哥阅读 1,189评论 0 1
  • 许是上天错定的因果,又许是佛生前种下的祸乱,一个小到不起眼的道士,一段莫高窟上无人能辨对错的是非。就在1849年的...
    谟悠阅读 453评论 0 0