iPhone开发-UIButton setImage的同时也显示title
2023-09-14 08:57:56 时间
想要做一个按钮,按钮上半部分显示图片(Image),下半部分显示文字(Title)(文字位置不固定),显示效果如下图:
![](http://img.blog.csdn.net/20141111230914437?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemNsMzY5MzY5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
UIButton有两个设置Image的方法,一个是setImage,一个是setBackgroundImage。到底用哪个方法呢,既然不确定,那就测试下,看看哪个符合自己的要求。 1.先测试setImage方法,在IB(xib或storyboard)中拖拽一个UIbutton控件,之后设置Image属性,如下图:![](http://img.blog.csdn.net/20141111230941078?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemNsMzY5MzY5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
之后看刚才拖拽的UIButton控件的样式,如下图:![](http://img.blog.csdn.net/20141111231018031?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemNsMzY5MzY5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
无论你怎么放大这个按钮,按钮中的图片的大小是不会随之变化的(当然缩小按钮,图片会随之压缩)。 如果不喜欢IB的朋友,可以用代码实现,代码如下:
2.测试setBackgroundImage方法,选中刚才的button控件,之后删除Image的内容,在Background中添加图片名称,如下图:
[btn setBackgroundImage:[UIImage imageNamed:@"add_album"] forState:UIControlStateNormal];
![](http://img.blog.csdn.net/20141111231350656?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemNsMzY5MzY5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
这样就完成了按钮title和按钮图片位置自定义的效果了。 代码实现设置inset:
另:如果不喜欢调整Inset,可以在按钮上放置个Label,把按钮自带的Title设置为空,用Label冒充Title,调整Label的frame,同样可以实现这个效果。
UIButton有两个设置Image的方法,一个是setImage,一个是setBackgroundImage。到底用哪个方法呢,既然不确定,那就测试下,看看哪个符合自己的要求。 1.先测试setImage方法,在IB(xib或storyboard)中拖拽一个UIbutton控件,之后设置Image属性,如下图:
之后看刚才拖拽的UIButton控件的样式,如下图:
无论你怎么放大这个按钮,按钮中的图片的大小是不会随之变化的(当然缩小按钮,图片会随之压缩)。 如果不喜欢IB的朋友,可以用代码实现,代码如下:
2.测试setBackgroundImage方法,选中刚才的button控件,之后删除Image的内容,在Background中添加图片名称,如下图:
[btn setBackgroundImage:[UIImage imageNamed:@"add_album"] forState:UIControlStateNormal];
经过上面测试,发现用setImage方法设置的图片,图片不会随着按钮的放大而放大,图片始终是原始图片尺寸,而用setBackgroundImage方法设置的图片,图片会随着按钮的变大而拉伸变大。这里我选择了第一种方法,各位看官,请随意。
那么如何设置按钮Title的位置,让其显示在底部呢,Title默认是居中显示。这就要用到inset属性了,先选中按钮,之后在Edge的选项中选择Title,之后调节Inset的Top和Left等参数,使其Title位置在底部。如下图:这样就完成了按钮title和按钮图片位置自定义的效果了。 代码实现设置inset:
另:如果不喜欢调整Inset,可以在按钮上放置个Label,把按钮自带的Title设置为空,用Label冒充Title,调整Label的frame,同样可以实现这个效果。
相关文章
- Mac OS X 10.10优胜美地如何完美接管iphone上的电话和短信
- 通过NSTimer看IPhone对@selector的函数如何传参数
- 【IOS-COCOS2D游戏开发之八】开启高清(960*640)模式问题与解答、图片适配以及设置IPHONE横竖屏
- iPhone 应用开发的5个贴士
- Cocos2d-x 完美适配iphone、ipad(包括retina模式)
- iOS开发那些事-构建自适应iPhone和iPad工程
- iPhone 开发过程中的一些小技术的总结
- 《iPhone与iPad开发实战—iOS经典应用剖析》连载八
- 《iPhone与iPad开发实战—iOS经典应用剖析》连载七
- iPhone与iPad开发实战——精通Object C--视频
- iPhone与iPad开发实战——iOS 经典应用剖析视频--观看地址
- 在ios iphone编程中使用封装的NSLog来打印调试信息
- 苹果iPhone如何区分港版、国行、水货
- jQuery Mobile发展新闻阅读器,适应iphone和android打电话
- 主力机从iphone换到android是一种什么体验?