2012-02-09 119 views
1

我有編程方式創建按鈕的代碼,這裏是SETFRAME - 我需要一些澄清這個

UIImage *aroundImage = [UIImage imageNamed:@"locBar.png"]; 
    UIImage *aroundImageDown = [UIImage imageNamed:@"locBarColor.png"]; 
    UIButton *aroundButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
    [aroundButton setFrame:CGRectMake(240, 369, 80, 48)]; 
    [aroundButton setImage:aroundImage forState:UIControlStateNormal]; 
    [aroundButton setImage:aroundImageDown forState:UIControlStateHighlighted]; 
    [aroundButton setImage:aroundImageDown forState:UIControlStateSelected]; 
    [aroundButton addTarget:self action:@selector(aroundMe) forControlEvents:UIControlEventTouchUpInside];  
    [self.view addSubview:aroundButton]; 

所以現在我有設定按鈕的框架,但如果這個程序被認爲是在iPhone4上640x960。然後我有不同的圖像「[email protected][email protected]」,他們應該與不同的CGRectMake,或者他們應該?我的問題是如何爲兩種分辨率設置按鈕,並以編程方式執行此操作。

+1

無論大小給定,在視網膜或簡單的iPhone顯示屏上自動調整圖片的大小都不會有問題。但要確保@ 2x的雙倍大小圖像存在 – Hiren 2012-02-09 13:03:15

+0

,所以我的代碼可以用於Iphone5>;那麼@ HChouhan02的答案呢? – Spire 2012-02-09 13:10:41

+0

他不清楚這個問題。並確保它不是iPhone 5.這是一個屏幕差異簡單和視網膜像iPhone 2,3,3 3G Vs iPhone 4,4s – Hiren 2012-02-09 13:15:24

回答

2

這是自動:) ios將加載@ 2x版本(如果可用並且設備具有x2比例)。 框架是在點,而不是像素。

here在積分對戰像素

+0

所以你說我的代碼是好的,因爲它是。我有@ 2x圖像,並且沒有什麼我應該改變爲iPhone5 – Spire 2012-02-09 13:08:07

+0

是的,那我要說的 – Beuj 2012-02-09 13:11:05

+0

Arg,我不適合iPhone 5,我看不到未來:) – Beuj 2012-02-09 13:18:08

-1

你必須把條件,然後根據屏幕大小將按鈕框架,並給他們的圖像。

1

如果您在擴展名中包含同名圖像的高分辨率版本,但@ 2x位於擴展名之前,只要您使用[UIImage imageNamed:],iOS將根據顯示分辨率自動選擇正確的分辨率。 ]功能,或在IB中設置圖像。