iOS中在UIButton上同时显示文字和图片

在ios开发过程中,我们经常会遇到这样的情况:要在一行中显示文字和图片,如图所示:

我们可以在一个view中添加labe来显示文字,添加UIImageView来显示图片,

现在我们只要用一个Button就可以实现以上的功能。

在UIButton的API文件中,我们可以看到有以下两个属性:

@property(nonatomic)          UIEdgeInsets titleEdgeInsets;     //设置title显示的位置

@property(nonatomic)          UIEdgeInsets imageEdgeInsets;     //设置image显示的位置

只需要对EdgeInsets的设置即可

typedef struct UIEdgeInsets {

    CGFloat top, left, bottom, right; 

} UIEdgeInsets;

 UIEdgeInsetsMake  里面的四个参数表示距离上边界、左边界、下边界、右边界的距离,默认都为零。

实例代码如下:

 UIButton *button = [[UIButton alloc]initWithFrame:CGRectMake(100, 100, 200,44)];

 [button setBackgroundColor:[UIColor grayColor]];

 [button setTitle:@"弹出" forState:UIControlStateNormal];

 //设置title的间距

 button.titleEdgeInsets = UIEdgeInsetsMake(10, 16, 10, 200 - 62);

 [button setImage:[UIImage imageNamed:@"icon_arrow.png"] forState:UIControlStateNormal];

 //设置image的间距

 button.imageEdgeInsets = UIEdgeInsetsMake(27, 200 - 30, 27, 10);

 button.layer.shadowColor = [UIColor redColor].CGColor;

 button.layer.shadowOffset = CGSizeMake(5, 5);


运行效果如下:









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值