设置UIButton的setImage和setTitle的位置

时间:2011-09-22 19:25:27

标签: iphone ios cocoa-touch

我希望有一个大按钮,跨越我的表格单元格的长度,右侧包含setImage图标,左侧包含setTitle。但是,默认情况下,所有内容都与左侧对齐。

有没有办法改变UIButton图像和标题视图的位置?我希望一切都在一个按钮中,这样如果有人点击标题,图标也会改变其状态。

2 个答案:

答案 0 :(得分:0)

使图像与按钮的大小相同(即用透明度填充它),这样就可以将它们放在您想要的位置。假设你有一个40 x 40的图像,但是你想要它在300 x 40按钮的右侧。只需增加图像的大小,透明度就可以在左边有260像素。对于您的文本,您可以使用“界面”构建器中的对齐图标将标题放在所需的位置。

答案 1 :(得分:0)

我所做的是UIButton的子类,并在layoutSubview方法中设置[self titleLabel]和[self imageView]。

#import "CustomDetailTableButton.h"


@implementation CustomDetailTableButton



- (void)layoutSubviews
{
    [super layoutSubviews];

    UILabel *titleLabel = [self titleLabel];
    CGRect fr = [titleLabel frame];
    fr.origin.x = 10.0;
    fr.origin.y = 5.0;
    [[self titleLabel] setFrame:fr];

    UIImageView *imageView = [self imageView];
    CGRect iFrame = [imageView frame];
    iFrame.origin.x = 300.0;
    iFrame.origin.y = 7.0;
    [[self imageView] setFrame:iFrame];
}

@end