我正在尝试以编程方式将UILabel
添加到我的UIToolBar
中,但似乎没有出现。这就是我对我的代码所做的事情。
- (void) viewWillAppear:(BOOL)animated
{
// Create custom toolbar at top of screen under navigation controller
[matchingSeriesInfoToolBar setFrame:CGRectMake(0, 60, 320, 30)];
matchingSeriesInfoToolBar = [UIToolbar new];
[matchingSeriesInfoToolBar sizeToFit];
CGFloat toolbarHeight = 30;
CGRect mainViewBounds = [[UIScreen mainScreen] applicationFrame];
[matchingSeriesInfoToolBar setFrame:CGRectMake(CGRectGetMinX(mainViewBounds), 0, CGRectGetWidth(mainViewBounds), toolbarHeight)];
matchingSeriesInfoToolBar.tintColor = [UIColor darkGrayColor];
[self.view addSubview:matchingSeriesInfoToolBar];
// Create size of uitableview (to fit toolbar.
[matchingSeriesTableView setFrame:CGRectMake(0, 30, self.view.frame.size.width, self.view.frame.size.height - 30)];
[self.view addSubview:matchingSeriesTableView];
// Ad UILabel to the toolbar
UIBarButtonItem *textFieldItem = [[UIBarButtonItem alloc] initWithCustomView:manufSelectionLabel];
matchingSeriesInfoToolBar.items = [NSArray arrayWithObject:textFieldItem];
manufSelectionLabel.text = @"Hello World!";
[super viewWillAppear:animated];
}
所以我已经创建了一个自定义工具栏,我已经从屏幕底部更改了常用位置,显示在UINavigationController
下面,这也添加到视图中,因此它可以正确地设置动画视图转换..
之后我创建了tableview的大小,使其显示在自定义工具栏之后..
然后从那里我试图在工具栏中添加UILabel
..但由于某种原因它没有用完。
非常感谢任何帮助。
答案 0 :(得分:8)
您必须在某处创建标签。这段代码很好用。
UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
[self.view addSubview:toolbar];
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 44)];
label.backgroundColor = [UIColor clearColor];
UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:label];
toolbar.items = [NSArray arrayWithObject:item];
label.text = @"Hello World";
答案 1 :(得分:0)
在您发布的代码中,您永远不会制作UILabel
。您的评论说明广告UILabel到工具栏,然后您继续使用自定义视图UIBarButtonItem
制作manufSectionLabel
。
创建manufSectionLabel
的代码在哪里?
PS此行无效:
[matchingSeriesInfoToolBar setFrame:CGRectMake(0, 60, 320, 30)];
因为在那一点matchSeriesInfoToolbar是nil
- 你还没有成功!