2010-05-06 12 views
7

Ce n'est pas une question d'orientation uiview, je veux avoir l'iphone en portrait ou en paysage, et je veux une tableview standard (contrôleur?) Qui affichera les cellules dans une bande verticale vers le bas l'iphone et la tableview défilent horizontalement. -I.e. une tableview 100% normale, qui pivote à 90deg sans tourner l'orientation du téléphoneiPhone Tableview Utiliser des cellules en défilement horizontal non vertical

Est-ce possible?

Répondre

15

dans le contrôleur de vue tourner le tableView dans viewDidLoad:

-(void)viewDidLoad { 
self.table.rowHeight = 320.0; 
self.table.separatorStyle = UITableViewCellSeparatorStyleSingleLine; 
// Rotates the view. 
CGAffineTransform transform = CGAffineTransformMakeRotation(-1.5707963);  
self.table.transform = transform; 
// Repositions and resizes the view. 
CGRect contentRect = CGRectMake(0, 90, 320, 300); 
self.table.frame = contentRect;  
self.table.pagingEnabled 
     = YES; 
[super viewDidLoad]; 
} 

mais vous aurez une rotation de 90 ° cellule !!! J'ai résolu la rotation de la cellule cell -90 °

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
     CGAffineTransform transform = CGAffineTransformMakeRotation(1.5707963); 
     cell.transform = transform; 
} 
+0

Salut nikoz, savez-vous résoudre un problème de contenu flou à l'intérieur des cellules lorsque vous tournez UITableView comme ça? –

+0

Serait probablement préférable d'utiliser la constante 'M_PI_2', au lieu de 1.5707963. Plus facile à lire, plus facile à regarder et moins sujet aux fautes de frappe. par exemple: 'CGAffineTransformMakeRotation (M_PI_2);' –

Questions connexes