UIButton是我们做开发中经常使用的控件。程序中我们使用最多的就是监听按钮的点击事件来完成一些事情。但是还有好些我们平时不常用但是却算重要很好用的一些细节。
1.uibutton的imageview和title使用
在UIButton中自带有一个imageview和title属性。我们可以利用这两个属性,让一个按钮同时显示图片和文字,如下图的效果:
设置的代码为:
[self.btn setImage:[UIImage imageNamed:@"icon_tip"] forState:UIControlStateNormal];
[self.btn setTitle:@"提示" forState:UIControlStateNormal]
;设置按钮的图片和文字还有另外一个中方式:
self.btn.titleLabel.text = @"提示";self.btn.imageView.image = [UIImage imageNamed:@"icon_tip"];
但是这种设置方式没有第一种好,第一种可以设置的不同状态下的按钮的图片和文字,第二种不行,而且第二种设置方式有时候会导致设置的图片和文字显示不了。所有建议使用第一种方式设置按钮的图片的和文字
2.uibutton的内边距
如图的效果,展示出图片的效果。这种也可以使用UIButton实现。把按钮的背景图片设置成一个白色底图,然后按钮的imageview属性设置要显示的图片,最后设置按钮的内容的内边距即可实现;
//设置按钮显示的图片
[self.btnsetImage:[UIImageimageNamed:@"2"]forState:UIControlStateNormal];
//设置按钮的背景图片(这里显示是一种白色的底图)
[self.btnsetBackgroundImage:[UIImageimageNamed:@"1"]forState:UIControlStateNormal];
//设置按钮内容的内边距,UIEdgeInsetsMake(3, 3, 3, 3)让按钮显示的内容的范围上下左右都往里缩3像素
self.btn.contentEdgeInsets =UIEdgeInsetsMake(3,3, 3, 3);
这里就是巧妙利用了按钮的内容的内边距这个属性实现效果,按钮除了内容可以设置内边距以外。按钮的imageview,和title都可以设置相应的内布距:
self
.
btn
.
imageEdgeInsets,self.btn.titleEdgeInsets;