2009-12-02 15 views
0

J'ai un UIToolbar créé par programmation dans plusieurs vues. À mon avis, une table est présente, il y a une ligne blanche au milieu de la barre d'outils, qui semble être la bordure de la cellule du tableau. Y a-t-il un moyen de se débarrasser de cette ligne?Ligne blanche sur UIToolbar lorsque la vue de table est présente

Voici une capture d'écran:

iphone table with white bar

Voici le code que je utilise pour créer la barre d'outils montré:

- (void) createToolbarItems { 
UIBarButtonItemStyle style = UIBarButtonItemStylePlain; 

UIImage *addWishImg = [UIImage imageNamed:@"btn-addwish-off.png"]; 
UIButton *addBtn = [UIButton buttonWithType:UIButtonTypeCustom]; 
[addBtn setImage:addWishImg forState:UIControlStateNormal]; 
addBtn.frame = CGRectMake(0, 0, addWishImg.size.width, addWishImg.size.height); 
UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithCustomView:addBtn]; 
[addButton setTarget:self]; 
[addButton setAction:@selector(addWish)]; 
addButton.style = style; 

UIBarButtonItem *flexItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace 
                      target:nil 
                      action:nil]; 
flexItem.style = style; 

UIImage *emailImg = [UIImage imageNamed:@"btn-mail-off.png"]; 
UIButton *emailBtn = [UIButton buttonWithType:UIButtonTypeCustom]; 
[emailBtn setImage:emailImg forState:UIControlStateNormal]; 
emailBtn.frame = CGRectMake(0, 0, emailImg.size.width, emailImg.size.height); 
UIBarButtonItem *emailButton = [[UIBarButtonItem alloc] initWithCustomView:emailBtn]; 
[emailButton setTarget:self]; 
[emailButton setAction:@selector(addWish)]; 
emailButton.style = style; 

NSArray *items = [NSArray arrayWithObjects: addButton, flexItem, emailButton, nil]; 
[self.toolbar setItems:items animated:NO]; 

[addButton release]; 
[flexItem release]; 
[emailButton release]; 

}

- (void)viewDidLoad { 
[super viewDidLoad]; 

… 

// create the UIToolbar at the bottom of the view controller 
toolbar = [UIToolbar new]; 
toolbar.barStyle = UIBarStyleBlackOpaque; 

// size up the toolbar and set its frame 
[toolbar sizeToFit]; 
CGFloat toolbarHeight = [toolbar frame].size.height; 
NSLog(@"%f", toolbarHeight); 
CGRect mainViewBounds = self.view.bounds; 
[toolbar setFrame:CGRectMake(CGRectGetMinX(mainViewBounds), 
          CGRectGetMinY(mainViewBounds) + CGRectGetHeight(mainViewBounds) - (toolbarHeight * 2.0) + 2.0, 
          CGRectGetWidth(mainViewBounds), 
          toolbarHeight)]; 

[self.view addSubview:toolbar]; 

[self createToolbarItems]; 

}

Répondre

0

Définir le style de séparateur de table à None permet de résoudre ce problème.

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone 
1

Avez-vous vérifié si votre tableView chevauchait la barre d'outils? Sinon, ne peut pas voir les problèmes apparents. Définir une couleur d'arrière-plan à votre tableview pour voir si c'est le cas. Ou simplement réduire la hauteur de la tableview un peu pour voir si cela résout le problème

+0

J'ai une vue similaire sur un autre contrôleur (tableau avec une barre d'outils) et je ne rencontre pas ce problème. –