2012-03-14 87 views
0

基於HIG,可點擊按鈕的大小應爲44x44。現在我有以下內容:有沒有辦法使UIBarButtonItem的可點擊區域爲44x44?

UIButton * stop = [UIButton buttonWithType:UIButtonTypeCustom]; 

     [stop setSize:CGSizeMake(15, 18)]; 


    [stop setBackgroundImage:[UIImage imageNamed:@"stop-gray.png"] forState:UIControlStateNormal]; 
    [stop addTarget:self action:@selector(stopPage:) forControlEvents:UIControlEventTouchUpInside]; 
    stopButton_ = [[UIBarButtonItem alloc] initWithCustomView:stop]; 

UIBarButtonItem將被放在iPhone的UIToolbar中。當你注意到圖像的大小小於15,18.有沒有辦法使UIBarButtonItem的可打印區域爲44x44?或者我必須創建一個具有空白空間的新圖標,以便尺寸爲44x44,那麼iOS世界中的最佳做法是什麼?

回答

1

你爲什麼使用自定義視圖?如果您只需要按鈕上的自定義圖像,請使用-[UIBarButtonItem initWithImage:style:target:action:],您將獲得正確的可點擊區域和標準系統行爲。

如果您確實需要自定義視圖,則不需要更改圖像以留下空白區域...只需設置contentHorizontalAlignmentcontentVerticalAlignment以使圖像居中而不是填充視圖,然後根據需要調整視圖大小。

+0

好,問題是我的圖像顏色是灰色的,當我這樣做時,背面是白色的 – xonegirlz 2012-03-14 17:25:54

+0

您的問題從HIG建議開始...... HIG [也說](https://developer.apple.com/ library/ios/documentation/UserExperience/Conceptual/MobileHIG/IconsImages/IconsImages.html#// apple_ref/doc/uid/TP40006556-CH14-SW8)工具欄圖標應爲白色。如果您將圖標灰色化以表示現在無法使用該圖標,爲什麼不使用UIBarButtonItem上的'enabled'屬性? – rickster 2012-03-14 17:48:37

+0

這是一個自定義的灰色,我有它 – xonegirlz 2012-03-14 17:52:00

0

我認爲帶有透明Backgroud的圖像44x44和內部較小的圖像是最簡單的方法。

+0

@rickster:你爲什麼認爲路線更好? – mica 2012-03-14 17:03:53

+0

這不一定更好 - 主要是我指出它,因爲OP問你是否必須*創建一個空的空間更大的圖像,或者如果有另一種方式。儘管如此,至少有一個論點贊成使用對齊方式:用透明圖像填充的大圖像是一個(可能是普通的)較大的文件。 – rickster 2012-03-14 17:50:53

相關問題