2012-03-29 5 views
0

Je souhaite créer UITableView dans lequel certaines cellules sont des boutons. Aidez-moi, quelle est la bonne façon de le faire?Boutons dans UITableView

1) Je peux utiliser quelque chose comme ça:

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier]; 
if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyIdentifier] autorelease]; 
} 

if (indexPath.section == 1){ 
    if (indexPath.row == 0){ 


     UIButton* loginButton = [[UIButton alloc] initWithFrame:CGRectMake(9,1,302, 48)]; 
     [loginButton setBackgroundImage:[UIImage imageNamed:@"LoginButton.png"] forState:UIControlStateNormal]; 
     [loginButton setBackgroundImage:[UIImage imageNamed:@"LoginButton_pressed.png"] forState:UIControlStateSelected]; 
     [loginButton setTitle:@"Login" forState:UIControlStateNormal]; 
     [cell setBackgroundColor:[UIColor clearColor]]; 

     [cell addSubview:loginButton]; 
     [loginButton release]; 




    } 
} 

mais je vois que le bouton est transparent et semble étrange.

2) ne pas utiliser de UIButtons et de faire ce que je veux tout en utilisant UITableViewCells

Merci quatre votre attention, je suis complètement nouveau pour iOS, mais je suis en train de faire l'application sans xib.

+0

par type bouton par défaut serait PREF de sorte que le type que buttonWithType : UIButtonTypeRoundedRect –

Répondre

1

vous n'avez pas définir le type de bouton, il est en lecture seule propriété .donc vous ne pouvez pas diriger l'affecter changer si votre code comme ceci:

 UIButton* loginButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
     [loginButton setFrame:CGRectMake(5,5,302, 34)]; 
     [loginButton setBackgroundImage:[UIImage imageNamed:@"LoginButton.png"] forState:UIControlStateNormal]; 
     [loginButton setBackgroundImage:[UIImage imageNamed:@"LoginButton_pressed.png"] forState:UIControlStateSelected]; 
     [loginButton setTitle:@"Login" forState:UIControlStateNormal]; 
     [cell setBackgroundColor:[UIColor clearColor]]; 
     [cell addSubview:loginButton]; 
Questions connexes