web-dev-qa-db-fra.com

Marge supérieure sur UITableViewController

J'ai un TabBarController, dont l'un des onglets contient une sous-vue qui est un navigationController. Je charge ensuite dans le contrôleur de navigation une vue qui hérite du formulaire UITableViewController.

Mon problème est que, pour une raison quelconque, la vue du tableau commence à se placer derrière le contrôleur de navigation, pas en haut de l'écran mais à mi-chemin de la barre de navigation, d'où le haut de la première cellule de la vue du tableau est coupé.

Quelqu'un peut-il suggérer comment déplacer l'UITableViewController vers le bas?

39
agough

Corrigez-le par programme:

   - (void)viewDidLoad {
       UIEdgeInsets inset = UIEdgeInsetsMake(20, 0, 0, 0);
       self.tableView.contentInset = inset;
   }
100
sunkencity

Ce problème "caché derrière la barre de navigation" est dû au fait qu'iOS 7 utilise automatiquement la disposition plein écran. Voir le Guide de transition iOS 7 .

C'est un peu sournois car il s'affiche comme dans iOS 6 dans le simulateur (en termes de mise en page, c'est-à-dire pas caché derrière).

Votre barre de navigation est-elle translucide ? Le mien l'était et le définir sur non translucide le corrige sur Iphone iOS 6, iPhone iOS 7 et Simulator 7.0 avec XCode 5. (Dans mon cas, je l'ai défini sur translucide pour l'apparence visuelle.)

7
Henrik Erlandsson