2013-09-23 57 views
1

因此,我已經做了這個應用程序與地獄的iOS 4.3開始的很多UITableViews。UITableView單元格背景差異在iOS7.0

在過去的一週中,我將iPhone更新到了iOS7.0,並且當我運行我的應用程序(當前正在開發中)並且我的UITableView背景變成了白色而不是以前用過的clearcolor。

所以我搜索谷歌,得出的結論是,我們現在應該在細胞水平上做這種顏色。 像這個問題: UITableView clear background

我試過了,它工作正常。 但是,當我試圖向我的合作開發人員解釋這種差異時,我無法弄清楚一個奇怪的行爲。

在開發過程中,我們使用testflight上傳了多個可測試版本,因此我們可以調試並跟蹤項目。 在這次演講中,我的一位合作開發人員從testflight下載了同樣的應用程序,在將我的Mac更新到MountainLion,iOS 7.0和xCode5.0之前,該應用程序已上傳。 當他用iOS7.0在iPhone上運行它時,UITableView背景色變得清晰!

我的問題是:

這怎麼可能早於我的最新版本,並上傳到testflight(當我運行的獅子時,Xcode 4.5)相同的iPhone設備上運行不同的iOS 7.0,那麼我的當前版本編譯構建(從MountainLion,xCode 5.0)?

這對我沒有意義。 有誰知道爲什麼這兩個版本的工作方式各不相同? 還是我只是瘋了?

回答

1

我在我的應用程序中發現了類似於此行爲的東西。

應用程序(使用完全相同的代碼)在iOS 7設備中執行的方式根據Xcode版本和iOS SDK的不同而不同)編譯。我的意思是,只有使用XCode 5和iOS 7來製作應用程序時,纔會顯示uitableview背景的更改行爲。使用舊的Xcode只是保持舊的行爲(也許所有的實際應用程序是向後兼容的)

+0

所以你說這是老的Xcode創建這種奇怪的行爲而不是任何東西,我可以控制的編譯器? –

0

您是否確保將舊SDK用於項目的所有目標(例如,從SDK 7.0切換到SDK 6.1) ?做到這一點,使我的桌子視圖正常透明,如我所料。但是,當您使用新的iOS 7 SDK進行構建時,它會使用新的代碼,使得多個元素的行爲和顯示方式不同。

你的同事,誰安裝了舊版本的應用程序,被安裝,因爲它是在Xcode 4.5

建立了使用了iOS 6.1 SDK(或可能是一個較舊的SDK?)構建的應用程序它與您用於構建項目的Xcode版本無關,而是您在最新版本的Xcode中使用的設置。如果您沒有看到iOS 6.1 SDK作爲基礎SDK的選擇,那麼您必須將其移植到Xcode 5中(有許多問題,詳細說明如何在Stackoverflow.com上執行此操作)

0

只需在代碼中添加此UITableViewDataSource方法即可。

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { [cell setBackgroundColor:[UIColor clearColor]]; }

相關問題