您的位置:首页 > 产品设计 > UI/UE

iOS UIButton按钮图片在上文字在下

2015-07-29 14:48 447 查看
// 创建自定义按钮

UIButton *btn_click = [UIButton
buttonWithType:UIButtonTypeCustom];

//
创建普通状态按钮图片

[btn_click setImage:[UIImage
imageNamed:@"home"]
forState:UIControlStateNormal];

//
创建高亮或选中状态按钮图片

[btn_click setImage:[UIImage
imageNamed:@"home-selected"]
forState:UIControlStateHighlighted];

//
设置按钮普通状态标题

[btn_click setTitle:@"我的主帖"
forState:UIControlStateNormal];

//
设置按钮字体
btn_click.titleLabel.font = [UIFont
systemFontOfSize:14];

//
设置按钮普通状态标题颜色

[btn_click setTitleColor:[UIColor
redColor] forState:UIControlStateNormal];

//
设置按钮高亮或选中状态标题颜色

[btn_click setTitleColor:[UIColor
yellowColor] forState:UIControlStateHighlighted];

//
设置按钮背颜色

[btn_click setBackgroundColor:[UIColor
grayColor]];

//
按钮按下后的模糊状态

[btn_click setAdjustsImageWhenHighlighted:NO];

//
按钮点击事件

[btn_click addTarget:self
action:@selector(clickAction:)
forControlEvents:UIControlEventTouchUpInside];

//
按钮坐标和尺寸
btn_click.frame =
CGRectMake(0,
200, APP_WIGHT/2,
49);

//
按钮图片和标题总高度

CGFloat totalHeight = (btn_click.imageView.frame.size.height
+ btn_click.titleLabel.frame.size.height);

//
设置按钮图片偏移
[btn_click
setImageEdgeInsets:UIEdgeInsetsMake(-(totalHeight - btn_click.imageView.frame.size.height),
0.0, 0.0, -btn_click.titleLabel.frame.size.width)];

//
设置按钮标题偏移
[btn_click
setTitleEdgeInsets:UIEdgeInsetsMake(0.0, -btn_click.imageView.frame.size.width,
-(totalHeight - btn_click.titleLabel.frame.size.height),0.0)];

//
加载按钮到视图
[self.view
addSubview:btn_click];

效果如下:



关于UIButton,既可以采用setBackgroundImage 来设置底部图片,同时也可以采用 setImage方法;两者还是有一定区别的;

首先setBackgroundImage,image会随着button的大小而改变,图片自动会拉伸来适应button的大小,这个时候仍然可以设置button的title,title默认在button中间,image不会挡住title;

相反的的setImage,图片不会进行拉伸,原比例的显示在button上,此时再设置title,title默认显示在图右边,因此可以根据需求选中方法;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: