-1

UIToolbar の setBackgroundImage:forToolbarPosition:metrics: メソッドを使用しています。それが私のコードです:

toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0,0, 320, 44)];
[toolbar setBackgroundImage:[UIImage imageNamed:@"top"] forToolbarPosition:UIToolbarPositionTop barMetrics:UIBarMetricsDefault];
[toolbar setBackgroundImage:[UIImage imageNamed:@"bottom"] forToolbarPosition:UIToolbarPositionBottom barMetrics:UIBarMetricsDefault];
[self.view addSubview:toolbar];

ご覧のとおり、ツールバーを一番上に置きました。ただし、コードを実行すると、使用されるツールバー イメージは [UIImage imageNamed:@"bottom"] になります。

UIToolbarPosition はどのように取得されますか? 私の最初のアイデアはフレーム チェックです (< 1/2 スーパービュー フレームが上、そうでない場合は下... または一種)。

それはまだ下にあります。何か案が?

4

1 に答える 1

1

UIToolbar は上にあるはずがないため、iPhone UIToolbarPosition は常に下にあります。

iPad では問題なく動作します。toolbar.frame.origin.y = 0 の場合は UIToolbarPositionTop が使用され、それ以外の場合は UIToolbarPositionBottom が使用されます。

于 2013-05-30T08:01:12.960 に答える