L'ajout de UIToolbar avec deux UIBarButtonItem à un UINavigationBar: pauvres UIToolbar et ce sur l'iPhone 4

Je suis à la suite de la deuxième extrémité de ici. Dans ce conseil, deux UIBarButtonItems sont mis ensemble dans un UIToolbar. Enfin, la UIToolbar est ajouté à la UINavigationBar. Maintenant, pour mes problèmes:

1) Une ligne blanche sur le dessus de la UIToolbar. Si j'augmente la taille de la UIToolbar, le gradient est faux. Je suis en utilisant la taille suivante pour la UIToolbar:

    UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 90, 44.01)];

Comment puis-je me débarrasser de la ligne blanche? Voir ici:
L'ajout de UIToolbar avec deux UIBarButtonItem à un UINavigationBar: pauvres UIToolbar et ce sur l'iPhone 4

Le problème est qu'il y a un blanc à la place d'une ligne grise. Si il serait gris, tout serait parfait.

2) qu'est Ce que la différence de la taille de l'écran de l'iPhone 3 et iPhone 4? Dois-je vérifier l'iPhone est le double de la taille?

Edit:

Les boutons sont créés comme dans l'exemple suivant, j'ai pris à partir du site web mentionné ci-dessus:

//create a toolbar to have two buttons in the right
UIToolbar* tools = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 133, 44.01)];

//create the array to hold the buttons, which then gets added to the toolbar
NSMutableArray* buttons = [[NSMutableArray alloc] initWithCapacity:3];

//create a standard "add" button
UIBarButtonItem* bi = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:NULL];
bi.style = UIBarButtonItemStyleBordered;
[buttons addObject:bi];
[bi release];

//create a spacer
bi = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
[buttons addObject:bi];
[bi release];

//create a standard "refresh" button
bi = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(refresh:)];
bi.style = UIBarButtonItemStyleBordered;
[buttons addObject:bi];
[bi release];

//stick the buttons in the toolbar
[tools setItems:buttons animated:NO];

[buttons release];

//and put the toolbar in the nav bar
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:tools];
[tools release];

@ tc.:

J'ai essayé de la sous-classe UIToolbar.

//MyToolbar.h

#import <Foundation/Foundation.h>


@interface MyToolbar : UIToolbar {

}

@end

//MyToolbar.m

#import "MyToolbar.h"


@implementation MyToolbar

- (void)drawRect:(CGRect)rect {
    //do nothing
}

- (id)initWithFrame:(CGRect)aRect {
    if ((self = [super initWithFrame:aRect])) {
        self.opaque = NO;
        self.backgroundColor = [UIColor clearColor];
        self.clearsContextBeforeDrawing = YES;      
    }
    return self;
}

@end

OriginalL'auteur testing | 2010-09-24