J'ai un UITableView qui n'est pas redimensionné correctement en utilisant autoresizeMask (dans iPhone 3.0). Le UITableView est à l'intérieur d'un UIViewController à l'intérieur d'un UINavigationController à l'intérieur d'un UITabBarController, qui sont tous créés par programmation. La barre d'état est visible.Mauvaise taille de UITableView en utilisant autoresizingMask
Le code du UIViewController est essentiellement:
- (void)loadView {
UIView* rootView = [[UIView alloc] init];
self.view = rootView;
[rootView release];
}
- (void)viewDidLoad {
[super viewDidLoad];
// table = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 480-20-49-44)];
table = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 100)]; table.autoresizingMask = UIViewAutoresizingFlexibleHeight;
[self.view addSubview:table];
}
Une fois créé comme celui-ci, le UITableView est légèrement plus grand que l'espace disponible. Si je ne me trompe pas, c'est exactement 44 pixels de plus, la taille de la barre de navigation. Toutefois, si je ne commente pas la ligne commentée et commente la ligne suivante, la taille de UITableView est exactement correcte. Je préférerais utiliser autoresizingMask au lieu de calculer manuellement la taille de UITableView. Qu'est-ce que je fais mal?
Merci d'avance!
Merci pour la réponse rapide, Colin. Le masque autoresizing fait quelque chose. La vue de la table est en cours de création avec une taille de 320x100, et pourtant elle remplit tout l'écran. Je peux changer de 100 à 200 et la taille sera la même. – hpique
Et si vous ne définissez pas un masque autoresizing tout en le réglant sur 320x100, cela ne remplit pas tout l'écran? –
C'est vrai. En l'absence de masque automatique, la vue de la table est dimensionnée en fonction du cadre. – hpique