2010-12-15 50 views
0

Dans mon application iPad, je conçois une vue de table qui utilise une case à cocher dans les cellules du tableau, mais la table occupe tout l'écran même s'il ne s'agit que d'une petite table dans Interface Builder.table ipad occupant tout l'écran mais pas conçu pour le faire?

Qu'est-ce que je fais mal? Pourquoi cette table occupe-t-elle tout l'écran? Un lien vers mon petit projet est ici. here


ok, désolé pour les noobnes !! donc je fixe en changeant mon contrôleur de vue duuhhhh de UITableViewController à UIViewController

mais maintenant j'ai un autre problème !! le

[self.tableView reloadData]; 

me donne une erreur! alors comment puis-je réparer pour rendre correctement le changement du bouton sans revenir à UITableViewController!

merci! Wright CS !!

autre chose s'il vous plaît,

pour permettre la si de comparer si la cellule a été frappé, j'ai un problème de SINTAX>

  • (void) tableView: (UITableView *) tableView didSelectRowAtIndexPath: (NSIndexPath *) indexPath { [tableView deselectRowAtIndexPath: indexPath animé: YES];
// here PROBLEM 
if ([[dataList objectAtIndex:indexPath.row] isEqual:@"Sports"]) 
{ 
    NSLog(@"perra"); 
    //Sports *sports = [[Sports alloc] initWithNibName:@"Sports" bundle:nil]; 
    //[self.navigationController pushViewController:sports animated:YES]; 
    //[sports release]; 

    //sports = [[Sports alloc] initWithNibName:@"Sports" bundle:nil]; 

    //anima 
    //[UIView beginAnimations:@"flipping view" context:nil]; 
    //[UIView setAnimationDuration:1]; 
    //[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 
    //[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown 
    //      forView:self.view cache:YES]; 

    //[self.view addSubview:sports.view]; 
    //[UIView commitAnimations]; 



} 

else if ([[dataList objectAtIndex:indexPath.row] isEqual:@"Entertainment"]) 
{ 
    NSLog(@"parra"); 
    // *blue = [[Blue alloc] initWithNibName:@"Blue" bundle:nil]; 
    //[self.navigationController pushViewController:blue animated:YES]; 
    //[blue release]; 
} 

    } 

Répondre

0

La raison pour laquelle votre table est "plein écran" est parce qu'il est un UITableViewController. Faites-en un UIViewController, puis vous pouvez définir le cadre par programmation ou le construire dans Interface Builder.

@interface TableCellViewController : UIViewController <UITableViewDelegate,UITableViewDataSource> 
{ 
    IBOutlet UITableView *tblCustomCell; 
} 

@property(nonatomic,retain) UITableView *tblCustomCell; 

@end 

et dans votre .m, @synthesize tblCustomCell; et ne pas oublier de se connecter tout IB.

alors si vous avez besoin d'appeler reloadData, utilisez:

[tblCustomCell reloadData]; 
+0

salut merci beaucoup, est fixé, mais comment éviter l'erreur pour la reloadData ?, merci beaucoup! – MaKo

+0

J'ai mis à jour ma réponse avec un exemple. Vous devez connecter la table dans IB. – WrightsCS

+0

Génie vraiment apprécié merci! – MaKo