2010-06-23 25 views
1

J'ai une application qui a un fond personnalisé pour un UITableView. Jusqu'à SDK 3.1.3 cela a été fait par la mise en backgroundColor propriété à [UIColor clearColor] et en plaçant la table au-dessus d'une autre vue (un UIImageView' for example). SDK 3.2 added the backgroundView property, and the same effect could be achieved by setting it to de nil`.UITableView.backgroundColor dans SDK 4.0

SDK 4.0 supprimé toutes les traces de SDK 3.1.x libs de la table Il est donc impossible de compiler une version compatible 4.0 qui fonctionne toujours sur les périphériques 3.1.x

Si je crée dans le SDK 3.2 une version ad-hoc et l'installe via iTunes sur un périphérique 4.0, tout va bien, Si je le compile sur le SDK 4.0, ce n'est pas le cas, même si je mets la cible à 3.0 et que j'appelle setBackgroundColor: (donc le compilateur ne se plaint pas d'un symbole inexistant).

Alors, y a-t-il une solution pour cela? Je veux fondamentalement: - compiler avec le SDK 4.0 (afin que je puisse tester l'application avec un périphérique 4.0) - le faire fonctionner sur les périphériques 3.x - utiliser les symboles 3.1.x, obsolète sur 4.0, depuis la base installée est encore énorme

+0

vous pouvez simplement faire une vérification de version lorsque vous dessinez votre table et utilisez le code approprié ici: http://stackoverflow.com/questions/1964776/determine-current-iphone-os-version-at-runtime-and-compare-version-strings et éteignez les avertissements s'ils deviennent ennuyants: http : //stackoverflow.com/questions/2622017/suppress ing-deprecated-warnings-in-xcode – iwasrobbed

Répondre