2011-09-22 92 views
0

我想要一個大的按鈕跨越我的表格單元格的長度,其中包含右側的setImage圖標和左側的setTitle。但是,默認情況下,所有內容都與左側對齊。設置UIButton的setImage和setTitle的位置

有沒有辦法改變UIButton圖像和標題視圖的位置?我希望一切都在一個按鈕中,這樣如果有人點擊標題,圖標也會改變其狀態。

回答

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 
0

使您的圖像與按鈕大小相同(即用透明膠片填充它),讓事情發展到您想要的位置。假設您有一張40 x 40的圖像,但您希望它位於300 x 40的按鈕的右側。只需增加透明圖像的大小即可,左側沒有260像素。對於您的文本,您可以使用「界面」構建器中的對齊圖標將標題放在所需的位置。

+0

我試過子類化,我能夠將titleLabel移動到我想要的位置,但是我找不到setImage。我認爲你的方法是最簡單的。 – Adam

+0

我不認爲它會起作用。出於某種原因,我的圖像掩蓋了文字 – Adam

+0

使其成爲背景圖像。 –