标签在UIToolBar中不可见

时间:2013-05-13 20:50:44

标签: iphone ios objective-c ipad

我正在尝试将标签设置为子类UIToolBar。我首先创建标签,然后将其转换为UIBarButtonItem并将它们设置为工具栏,但工具栏只显示为空白。

这是我的子类工具栏的初始化方法中的代码

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];

任何想法都错了吗?

2 个答案:

答案 0 :(得分:0)

您从哪里调用此代码?如果您在initWithFrame:initWithCoder:中使用它,则无效。

试试这个:

- (void)layoutSubviews {

    [super layoutSubviews];

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

这将使它运作。问题是你应该在layoutSubviews中这样做吗?可能不是。您还可以在UIToolbar上设置一个设置方法,然后在应用程序中稍后调用它。

答案 1 :(得分:0)

这不是一个uitoolbar。这是一个导航栏,请删除导航栏并添加工具栏。试试这种类型。