我正在尝试将标签设置为子类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];
任何想法都错了吗?
答案 0 :(得分:0)
您从哪里调用此代码?如果您在initWithFrame:
或initWithCoder:
中使用它,则无效。
试试这个:
- (void)layoutSubviews {
[super layoutSubviews];
if(self.items.count == 0) {
//Your code here
}
}
这将使它运作。问题是你应该在layoutSubviews
中这样做吗?可能不是。您还可以在UIToolbar
上设置一个设置方法,然后在应用程序中稍后调用它。
答案 1 :(得分:0)
这不是一个uitoolbar。这是一个导航栏,请删除导航栏并添加工具栏。试试这种类型。