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默认显示在图右边,因此可以根据需求选中方法;
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默认显示在图右边,因此可以根据需求选中方法;
相关文章推荐
- UI 总结-1 UIButton
- iOS UI第一周总结
- priority_queue(优先队列)
- iOS开发UI篇—Quartz2D使用(绘制基本图形)
- hdu5312 Sequence 三角形数的应用
- 1062. Talent and Virtue (25)
- 1062. Talent and Virtue (25)
- IOS中UITextField限制字数,特别是中文
- ios开发--UISegmentedControl分段
- hdu 5301 Buildings
- 游戏UI库
- Implement Queue using Stacks
- ios开发--UIGestureRecognizer
- iOS-UI-05 导航控制器的使用 UINavigationController
- iOS-UI-滚动视图2—分页查看功能
- 写在Demo战斗系统之前,先用原型工具做套UI第二篇-人物选择界面制作
- IOS GCD queue group
- 无法使用以下搜索标准找到 X.509 证书: StoreName“My”、StoreLocation“LocalMachine”、FindType“FindBySubjectName”、FindValue“MyWebSite”。
- easyui 获取指定列的值,格式化该列的值的实例
- iOS中添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效