0

私のアプリには 3 つのボタンを持つ uinavigationbar がありますが、ios5 に使用したコードは ios6 には適していないようです。カスタム ビューの下に、右側に 2 つのボタンがある間違った色の四角形が表示されます。

使用したコードはこちらです。stackoverflow のどこかで見つけました。

UIToolbar *tools = [[[UIToolbar alloc]
                     initWithFrame:CGRectMake(0.0f, 0.0f, 110.0f, 44.01f)] autorelease]; // 44.01 shifts it up 1px for some reason
tools.clearsContextBeforeDrawing = NO;
tools.clipsToBounds = NO;
tools.translucent = self.headerbar.translucent;
tools.barStyle = self.headerbar.barStyle;  
tools.backgroundColor = self.headerbar.backgroundColor;
tools.tintColor = self.headerbar.tintColor;

NSMutableArray *buttons = [[NSMutableArray alloc] initWithCapacity:3];

// Create a standard refresh button.
UIBarButtonItem *bi = [[UIBarButtonItem alloc] initWithTitle:@"heute" style:UIBarButtonItemStylePlain target:self action:@selector(showThisWeek)];
bi.style = UIBarButtonItemStyleBordered;
bi.width = 0;
[buttons addObject:bi];
//[bi release];

// Create a spacer.
bi = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:@selector(showThisWeek)];
[buttons addObject:bi];
//[bi release];

// Add profile button.
bi = [[UIBarButtonItem alloc] initWithTitle:@"vor" style:UIBarButtonItemStylePlain target:self action:@selector(showNext)];
bi.style = UIBarButtonItemStyleBordered;
[buttons addObject:bi];
//[bi release];

// Add buttons to toolbar and toolbar to nav bar.
[tools setItems:buttons animated:NO];
[buttons release];
UIBarButtonItem *twoButtons = [[UIBarButtonItem alloc] initWithCustomView:tools];
//[tools release];
header.rightBarButtonItem = twoButtons;
[header.leftBarButtonItem setAction:@selector(showPrevious)];

ios5 と ios6 の両方で正常に動作する、よりエレガントなソリューションを教えてもらえますか?

乾杯ルーカス

4

2 に答える 2

1

leftBarButtonItems と rightBarButtonItems を試しましたか? これを使用して、左右のナビゲーション バーにボタンの配列を追加できます。

これを使用すると、UIToolbar とそのサブビューは不要になります。

于 2012-12-09T17:15:20.747 に答える
0

bar.style = -1 を試しましたか?

于 2012-10-22T12:31:57.563 に答える