1

だから私はこのアプリを、iOS 4.3 頃から始まった非常に多くの UITableView で作成しました。

先週、iPhone を iOS7.0 にアップデートし、アプリ (現在開発中) を実行すると、UITableView の背景が、以前は動作していた clearcolor ではなく白くなりました。

だから私はグーグルを検索して、この色を細胞レベルで行うべきだという結論に達しました. この質問のように: UITableView clear background

私はそれを試しましたが、うまくいきます。しかし、共同開発者にこの違いを説明しようとしたとき、奇妙な動作を理解できませんでした。

開発中、testflight を使用して複数のテスト可能なバージョンをアップロードし、プロジェクトをデバッグして追跡できるようにしました。この講演中に、共同開発者の 1 人が、私が Mac を MountainLion、iOS 7.0、および xCode5.0 にアップデートする前にアップロードしたものとまったく同じアプリを testflight からダウンロードしました。そして、iOS7.0 の iPhone で実行したところ、UITableView の背景は clearcolor でした。

私の質問は:

最新のビルドより前のバージョンで testflight にアップロードされたバージョン (Lion、xCode 4.5 を実行していたとき) は、iOS 7.0 を搭載した同じ iPhone デバイス上で、現在コンパイルされているビルド (MountainLion、xCode 5.0 から) でどのように異なる動作をするのでしょうか?

私には意味がありません。これら 2 つのビルドが互いに異なる動作をする理由を知っている人はいますか? それとも私はただ夢中になっていますか?

4

3 に答える 3

1

アプリケーションでこの動作に似たものを見つけました。

アプリケーション (まったく同じコード) が iOS 7 デバイスで実行される方法は、Xcode のバージョンと iOS SDK によって異なります) がコンパイルされます。つまり、uitableview バックグラウンドの変更された動作は、XCode 5 と iOS 7 を使用してアプリを作成した場合にのみ表示されます。古いXcodeを使用すると、古い動作が維持されます(おそらく、実際のすべてのアプリケーションが下位互換性を持つためです)

于 2013-09-23T14:28:15.703 に答える