我想要一個大的按鈕跨越我的表格單元格的長度,其中包含右側的setImage圖標和左側的setTitle。但是,默認情況下,所有內容都與左側對齊。設置UIButton的setImage和setTitle的位置
有沒有辦法改變UIButton圖像和標題視圖的位置?我希望一切都在一個按鈕中,這樣如果有人點擊標題,圖標也會改變其狀態。
我想要一個大的按鈕跨越我的表格單元格的長度,其中包含右側的setImage圖標和左側的setTitle。但是,默認情況下,所有內容都與左側對齊。設置UIButton的setImage和setTitle的位置
有沒有辦法改變UIButton圖像和標題視圖的位置?我希望一切都在一個按鈕中,這樣如果有人點擊標題,圖標也會改變其狀態。
我做的是子類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
使您的圖像與按鈕大小相同(即用透明膠片填充它),讓事情發展到您想要的位置。假設您有一張40 x 40的圖像,但您希望它位於300 x 40的按鈕的右側。只需增加透明圖像的大小即可,左側沒有260像素。對於您的文本,您可以使用「界面」構建器中的對齊圖標將標題放在所需的位置。
我試過子類化,我能夠將titleLabel移動到我想要的位置,但是我找不到setImage。我認爲你的方法是最簡單的。 – Adam
我不認爲它會起作用。出於某種原因,我的圖像掩蓋了文字 – Adam
使其成爲背景圖像。 –