2013-10-01 39 views
2

移植到XCode 5和iOS7基礎SDK後,我的應用中的一些UI小部件仍然看起來像iOS7設備上的iOS6樣式(漸變,幀)。這不會發生在iOS7的等效模擬器上。這也不會發生在所有小部件上,UIDocumentInteractionController的彈出窗口看起來像設備上的iOS7,但UIPopoverController不會。用於重命名文件的鍵盤也顯示了仿真器和設備之間的這種差異。使用iOS7構建iOS6外觀小部件

iOS如何確定UI元素的視覺風格?它是基於靜態鏈接庫還是在運行時確定的?我試過完全從設備上清除應用程序,但沒有改變。

仿真器視網膜ipad公司:UIPopoverController

iPad的第三代與iOS 7:UIPopoverController

在這種情況下的碼是相當簡單的,不呈現或佈局的定製。

self.poController = [[UIPopoverController alloc] initWithContentViewController:audioCopyController]; 
[audioCopyController showDoneButton:NO]; 
audioCopyController.view.frame = CGRectMake(0,0,350,250); 
_poController.popoverContentSize = audioCopyController.view.bounds.size; 
_poController.delegate = self; 
[_poController presentPopoverFromRect:view.audiocopyButton.frame 
              inView:view 
         permittedArrowDirections:UIPopoverArrowDirectionDown 
             animated:YES]; 

感謝您的幫助提前。

+0

您正在使用哪種設備(包括Generation)? – muthukumar

+0

iPad第三代,雖然這個問題也出現在iPad Mini上。 – HeroOfSpielburg

+0

謝謝男人.. !!你拯救了我的生命......即使我在我的機器上安裝了iOS 6.1 SDK,並且正因爲如此,我得到了iOS6應用程序的樣子。刪除了較老的sdk解決了我的問題。謝謝.. – Shradha

回答

0

好吧,我發現了什麼問題了。大衛的建議讓我思考。

我在同一時間維護多個應用程序,其中一個很老。 XCode5中的新界面生成器打破了舊應用中許多字段的透明性,因此我將XCode4保存在XCode5旁邊的單獨安裝文件夾中。看起來,我的XCode5項目仍然指向XCode4的SDK文件夾(不知道這是如何實現的,查看實際的鏈接器命令行可能會有所幫助),所以在從我的機器上刪除XCode4的6.1 SDK文件夾後,使用XCode 5進行清潔構建,在iOS支持的應用程序中生成了正確的iOS 7外觀小部件。

故事的寓意是,在同一臺機器上安裝多個XCode/SDK時要非常小心。希望這可以幫助其他人嘗試類似的方式爲傳統應用程序提供支持。

1

檢查你的項目配置文件和目標配置文件。 它可能設置了iOS 6.X基礎SDK。

對於這一點:

  • 轉到您的項目配置文件在Xcode 5
  • 單擊生成設置選項卡
  • 編輯基地SDK場將其切換到iOS 7

有時,我們遇到了Xcode不考慮當前設置的問題。

改變它和編譯有助於理解它需要改變。

請確保您正確配置了您的Project配置以及您從中運行的每個目標配置文件。

您可能有2個不同的目標模擬器和您的設備。

希望這有助於 問候

大衛

+0

David將此設置爲「最新的SDK 7.0」,並按照您的建議嘗試將其手動設置爲7.0,但這並不能解決此問題。還是)感謝你的建議! – HeroOfSpielburg

+0

很高興它幫助你走向正確的方向。 –