5

我有以下UIButton我想在最右边添加一个图像。像一个accessoryView

我已经在使用 backgroundImage 并且我想避免将 2 个图像合并为 1 个。

是否可以在 UIButton 内添加另一个图像,AccesoryView可以说是PLUS最右边的图像?(我正在寻找一种在按钮内插入新图像的方法)

在此处输入图像描述

@luisCien 评论

我试过了

    [_addImage setImage:[UIImage imageNamed:@"shareMe"] forState:UIControlStateNormal];
   _addImage.contentHorizontalAlignment =
        UIControlContentHorizontalAlignmentRight;

它看起来像这样,我想将图像放在文本的右侧。在此处输入图像描述

4

2 回答 2

13

只需将其添加为子视图并选择您的坐标..尝试这样的事情:

UIImageView *yourPlusSign = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"yourPlusSignImageTitle"]];
yourPlusSign.frame = CGRectMake(x, y, width, height);//choose values that fit properly inside the frame of your baseButton
//or grab the width and height of yourBaseButton and change accordingly
yourPlusSign.contentMode=UIViewContentModeScaleAspectFill;//or whichever mode works best for you
[yourBaseButton addSubview:yourPlusSign];
于 2013-06-11T21:30:42.097 回答
2

您可以使用contentHorizontalAlignmentof 的属性UIButton并将其设置为UIControlContentHorizontalAlignmentRightthis ,这会将您添加到其中的图像定位在最右侧。

编辑:正如@danypata 所建议的,您还可以使用 UIButton 的属性imageEdgeInsets在您的“accessoryView”周围留下一些边距,如下所示:

[_addImage setImageEdgeInsets:UIEdgeInsetsMake(5, 0, 5, 10)];

关于左边的文字和右边的图像,我认为这是不可能的(请有人纠正我)。为此,我要么通过扩展创建自己的自定义按钮,UIControl要么添加 aUILabel并设置它的框架(而不是使用UIButton's setTitle:forState:)并将其添加为按钮的子视图。

希望这可以帮助!

于 2013-06-11T21:13:05.503 回答