如何实现一个左边带有图片、右边带有文本的UIButton

6

最简单的方法是按照您所提到的创建图像,并将其用作按钮图像。 - Mobile App Dev
3个回答

14

请查看UIButtontitleEdgeInsets属性。

@property(nonatomic) UIEdgeInsets titleEdgeInsets

使用下面的方法可以在UIButton中同时获取以上两种状态。

[myButton setImage: [UIImage imageNamed:@"settingImage.png"] forState:UIControlStateNormal];
[myButton setTitleEdgeInsets:UIEdgeInsetsMake(100.0, -100.0, 10.0, 15.0)];
[myButton setTitle:@"settings" forState:UIControlStateNormal];

0

获取按钮的出口。

UIImageView *img1=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"blue-thumb.jpg"]];
    CGRect rect1=CGRectMake(0,0,20,30);
    [img1 setFrame:rect1];
    [btn1 addSubview:img1];

你也可以用它来设置标签。


0

我发现最简单的方法是创建一个宽度为(左图像+文本宽度+左图像)的png文件,但仅包含左侧设置图像。

然后将其用作按钮的背景。

文本来自按钮本身,因此您可以轻松更改文本而无需更改图像。如果现在将文本居中,它将与左侧的图像和旁边的文本完美匹配。

代码如下:

  1. [myBtn setTitle: @"settings" forState:UIControlStateNormal]
  2. [myBtn setBackgroundImage: [UIImage imageNamed:@"myBtn.png"] forState:UIControlStateNormal];

此外,如果您计划将其用于不同的语言环境,则也将兼容本地化。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接