0

サブクラス化された UIToolBar にラベルを設定しようとしています。最初にラベルを作成し、次にそれを UIBarButtonItem に変換してツールバーに設定していますが、ツールバーは空白に見えます。

サブクラス化されたツールバーの init メソッドのコードは次のとおりです

NSMutableArray *items = [[NSMutableArray alloc] init];

// prep the total label
_totalLabel = [[UILabel alloc] init];
_totalLabel.font = [_totalLabel.font fontWithSize:15];
_totalLabel.textColor = [UIColor whiteColor];
_totalLabel.text = NSLocalizedString(@"TOTAL", nil);
_totalLabel.frame = CGRectMake(0, 0, 100, 44);
_totalLabel.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleTopMargin;
_totalLabel.layer.borderWidth = 2;
_totalLabel.layer.borderColor = [UIColor greenColor].CGColor;
_totalLabel.backgroundColor = [UIColor clearColor];

UIBarButtonItem *spacer2 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
[items addObject:spacer2];

UIBarButtonItem *total = [[UIBarButtonItem alloc] initWithCustomView:_totalLabel];
[items addObject:total];

[self setItems:items];

何が悪いのですか?

4

2 に答える 2

0

このコードはどこから呼び出していますか? 入っていinitWithFrame:ないinitWithCoder:と動作しません。

これを試して:

- (void)layoutSubviews {

    [super layoutSubviews];

    if(self.items.count == 0) {
        //Your code here
    }
}

それはそれを機能させるでしょう。問題は、これを で行うべきかということlayoutSubviewsです。おそらくそうではありません。setup メソッドを設定UIToolbarして、後でアプリケーションで呼び出すこともできます。

于 2013-05-13T21:31:18.033 に答える
0

これは uitoolbar ではありません。これはナビゲーション バーなので、ナビゲーション バーを削除してツールバーを追加してください。このタイプを試してみてください。

于 2013-05-18T09:24:09.013 に答える