2011-04-15 44 views
0

甚至不知道如何精確地說出這個問題,但這裏是本質上的問題。使用皮膚控件創建iPhone屏幕

我有一個我開發的Android應用程序。我使用繪圖元素基本上爲文本控件,佈局和按鈕創建自定義背景,以創建一個不錯的可縮放UI。

這裏是它的照片:

https://ssl.gstatic.com/android/market/com.pacemaker.android/ss-0-320-480-160-0-b25671ad8a0f8862993fb6ac28db80618c36853e

其他位置的屏幕截圖,以及:

https://market.android.com/details?id=com.pacemaker.android&feature=search_result

我想要做的iPhone版本,同樣的事情,但我不知道哪裏可以開始。看起來相同的方法不會奏效,因爲沒有辦法將iPhone控件的背景設置爲基於定製矢量的圖像?

什麼是一個iPhone應用程序做到這一點的最好方法是什麼?

一直在做一些研究,我看到了工具不透明度,但我仍然不確定它是如何調用在一起的。

例如:在我的應用程序中標題爲「PaceMaker」的標題欄將如何成爲在iPhone中複製的最佳方式。

我想確保它擴展因此它適用於3GS和iPhone 4S。

+0

溝這個皮膚的概念。 iPhone爲所有應用程序提供了一致的外觀和感覺的本地控件。這不僅對蘋果來說很重要,對iPhone用戶來說也很重要。請*強烈*考慮利用他們。它不僅會讓用戶更快樂,而且會使開發變得更加輕鬆。很少有用戶會同時擁有iPhone和Android,因此完全匹配它們並不像您想象的那麼相關。 – 2011-04-15 06:57:18

回答

2

我想我找到了正確的解決這個問題。

忽略問題並選擇使用標準控件的答案並不是我所能接受的,因爲我試圖爲我的應用程序跨平臺和共同體驗建立一種感覺。

我最終做的是擴展UIViews來創建具有正確陰影和透明度的面板,並繪製了我想要的邊框。

我擴展了UIView以創建一個圓角面板和一個有邊框的面板。 我簡單地覆蓋drawRect方法,並使用Quartz繪圖API繪製我的形狀和邊框,並使用漸變填充以獲得所需的效果。

然後我可以使用UIView控件並將它們拖到UI上。我只是將UIView控件更改爲我的類類型,一切正常。

0

首先我覺得你不必重複你的Android界面像素到像素到iOS的界面。這兩個平臺都有不同的用戶使用期限。人們習慣於並等待與此平臺上的其他應用程序熟悉的界面。最好的辦法知道蘋果的客戶從你等待^)是讀取蘋果人機界面指南

http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/Introduction/Introduction.html

,讓我們來談談「標題欄」。在我的應用程序中我自定義導航欄。我只是從我的項目中複製一些代碼給你一些出發點。這是它的外觀 - http://macsoj.wordpress.com/2011/01/28/astrofriends/

我通過創建UINavigationBar的新類別中更改導航欄背景,我的自定義圖像 - 和壓倒一切的drawRect方法,以便

@interface UINavigationBar (TransparentAdditions) 
@end 
@implementation UINavigationBar (TransparentAdditions) 
- (void)drawRect:(CGRect)rect { 
     UIImage *image = [UIImage imageNamed: @"my_custom_background.png"]; 
     [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)]; 
} 
@end 

,現在我寫的自定義標題

CGRect frame = CGRectMake(0, 0, 320, 44); 
UILabel *label = [[[UILabel alloc] initWithFrame:frame] autorelease]; 
label.backgroundColor = [UIColor clearColor]; 
label.font = [UIFont fontWithName:@"MarkerFelt-Thin" size:20.0]; 
label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5]; 
label.textAlignment = UITextAlignmentCenter; 
label.textColor = [UIColor whiteColor]; 
self.navigationItem.titleView = label; 
label.text = @"Friends"; 

我希望它幫助)

0

您可以簡單地設置此導航欄的色調顏色.......這將改變您的導航欄的顏色,你可以把t也可以分機。