Lorsque je règle le backgroundColor
pour mon, UITableView
cela fonctionne bien sur iPhone (appareil et simulateur) mais PAS sur le simulateur iPad. Au lieu de cela, j'obtiens un fond gris clair pour toutes les couleurs que j'ai définies, y compris groupTableViewBackgroundColor
.
Étapes à suivre pour reproduire:
- Créez un nouveau projet basé sur la navigation.
- Ouvrez RootViewController.xib et définissez le style de vue de table sur "Groupé".
- Ajoutez ce répondeur au RootViewController:
- (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor blackColor]; }
- Sélectionnez Simulator SDK 3.2, créez et exécutez.
- Vous obtiendrez un fond noir (appareil et simulateur).
- Sélectionnez votre cible dans l'arborescence du projet.
- Cliquez sur Projet: Mettre à niveau la cible actuelle pour iPad.
- Construisez et exécutez.
- Vous obtiendrez un fond gris clair.
- Rétablissez le style de vue du tableau sur Plain et vous obtiendrez un arrière-plan noir.
Merci de votre aide!
Réponses:
Essayez l'un de ceux-ci.
la source
Merci beaucoup pour cette solution. J'ai appliqué cela sur une propriété UITableView avec IBOutlet dans un UIViewController et cela fonctionne bien comme:
la source
Sur iPad, la
backgroundView
propriété semble être utilisée pour créer la couleur de fond gris pour les tableaux groupés. Donc, pour changer la couleur d'arrière-plan des tableaux groupés sur iPad, vous deveznil
désactiver labackgroundView
propriété, puis définir labackgroundColor
vue de tableau souhaitée.la source
Je pense qu'il convient de noter qu'à partir de Xcode 6.1 et iOS 8.1, en particulier pour iPad (si vous souhaitez également définir l'arrière-plan de la cellule), il semble que vous deviez définir l'arrière-plan du tableau ET l'arrière-plan de la cellule.
Par exemple, sur un storyboard iPhone, vous pouvez définir une cellule pour effacer la couleur, puis définir l'image d'arrière-plan de la table par programmation pour une table transparente avec une image d'arrière-plan. Cependant, si vous deviez afficher cette même configuration sur iPad, les cellules ne seraient pas claires. Les cellules devront être définies pour être effacées par programmation pour iPad.
la source
-viewDidLoad:
méthode de mon contrôleur de vue .essayé de définir backgroundColor et View pour la table, n'a pas eu de chance (simulateur iPad Xcode 5 iOS7.1), avait l'air OK pour iPhone, mais couleur de fond gris clair sur iPad ...
travailler avec backgroundColor pour la cellule elle-même a corrigé cela pour moi sur iOS 7.1 4/2014
}
la source
Si votre application cible à la fois l'iPhone et l'iPad, vous pouvez le faire comme ceci:
Notez que l'allocation TableView n'a pas de libération automatique pour ARC.
la source
Si vous ajoutez un UIViewController à un autre UIViewController, vous devez également définir l'arrière-plan de votre vue sur clearColor en plus de UITableView, sinon vous obtiendrez un fond blanc au lieu de gris clair.
la source
Rien de ce qui précède n'a fonctionné pour mon UIViewController-> UITableView spécifié à l'aide d'un seul XIB. Ce qui a fonctionné a été de déplacer l'ensemble de la configuration dans un Storyboard et de définir la couleur d'arrière-plan à l'aide de l'inspecteur IB.
la source
J'ai aussi ce genre de problème. La
UITableView
couleur d'arrière-plan sera toujours,groupTableViewBackgroundColor
peu importe ce que j'ai défini.Le symptôme est comme ce problème - UITableView réinitialise sa couleur d'arrière-plan avant que la vue n'apparaisse
Après avoir défini la couleur d'arrière-plan en
init
fonction, c'est correct. DansviewDidLoad
et surviewWillAppear
scène, c'est correct. Cependant, dansviewDidAppear
, la couleur d'arrière-plan est réinitialisée à sa couleur par défaut.La réponse acceptée ne fonctionne pas maintenant.
Voici ma solution. Définissez simplement la couleur d'arrière-plan de tableView dans
viewDidLoad
function plutôt queinit
ouviewWillAppear
.la source