0

標準の UIToolbar (テキストベースのボタンを備えた不透明な黒) をもう少しグラフィカルなものに変換しようとしています。おそらく次のようなものです(Blackberryアプリから取得):

ここに画像の説明を入力

これはヒューマン インターフェースのガイドラインに違反しますか? このタイプのカスタマイズが UITabbar に対して行われるのを見たことはありますが、UIToolbar に対しては見たことがありません。テーブル内の行を削除できるようにするなど、基本的な EDIT タスクを実行する EDIT ボタンがあるとします。上記のような独自の EDIT グラフィックを使用した場合、Apple はどのように感じるでしょうか??

また、独自の UIToolbar を作成したり、UIToolbar をサブクラス化したり、ニーズに合わせて変更したりする代わりに、多数の UIButton をカスタム グラフィックスと並べて並べてツールバーのように表示することはできませんか??

4

2 に答える 2

1

Apple アクセスに問題はありません。他のコンポーネントをツールバーに配置するだけで、何かをサブクラス化する必要はありません。

-(UIToolbar *) toolBarActive {
if( _toolBarActive == nil ) {
    _toolBarActive = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 360, 320, 60)];
    [_toolBarActive setBackgroundImage:[UIImage imageNamed:@"image.png"] forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsDefault];
    _toolBarActive.tintColor = [UIColor blackColor];  
    [_toolBarActive setBackgroundColor:[UIColor blackColor]];
    UIBarButtonItem *flexibleSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
    NSMutableArray *arrayItem = [[NSMutableArray alloc] init];
    [arrayItem addObject:flexibleSpace];
    [arrayItem addObject:self.buttonItem1];
    [arrayItem addObject:flexibleSpace];
    [arrayItem addObject:self.buttonItem2];
    [arrayItem addObject:flexibleSpace];
    [arrayItem addObject:self.buttonItem3];
    [arrayItem addObject:flexibleSpace];
    [arrayItem addObject:self.buttonItem4];
    [arrayItem addObject:flexibleSpace];
    [_toolBarActive setItems:arrayItem animated:YES];
}
return _toolBarActive;

}

たとえば、buttonItem1 は次のように定義します。

- (UIBarButtonItem *) buttonItem1 {
    if( _buttonItem1 == nil ) {
        _uttonItem1 = [[UIBarButtonItem alloc] initWithCustomView:self.button1];
        [_buttonItem1 setEnabled:YES];
        [_buttonItem1 setBackgroundVerticalPositionAdjustment:100.0f forBarMetrics:UIBarMetricsDefault];
    }
    return _buttonItem1;
}

および button1 は次のように定義します。

 - (UIButton *) button1 {
    if( _button1 == nil ) {
        _button1 = [[UIButton alloc] initWithFrame:CGRectMake(5, 5, 50, 50)];
        [_button1 addTarget:self action:@selector(addNewImage) forControlEvents:UIControlEventTouchUpInside];
        [_button1 setImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateNormal];
    }
    return _button1;
}
于 2012-10-30T15:16:57.580 に答える
0

カスタマイズするときは、apple のガイドラインに従っていることを確認する必要があると思います。そうでなければ、彼らは拒否します。

ここでツールバーのガイドラインを参照できます 。セクション:バー --> ツールバー

于 2012-10-30T15:12:08.267 に答える