以编程方式设置UIToolBar

时间:2012-05-05 17:12:03

标签: iphone ios uibarbuttonitem uitoolbar

我正在尝试以编程方式在ABPersonViewController子类的类中创建工具栏。 这就是我所做的。

UIBarButtonItem *customItem = [[UIBarButtonItem alloc] initWithTitle:@"Item" style:UIBarButtonItemStyleBordered  target:self     action:@selector(onToolbarTapped:)];
NSArray *items = [NSArray arrayWithObjects: customItem, nil];
[self.navigationController.toolbar setItems:items animated:NO];
//[self setToolbarItems:[NSArray arrayWithObject:items]];
self.navigationController.toolbar.barStyle = UIBarStyleBlackOpaque;
[self.navigationController setToolbarHidden:NO animated:YES];

工具栏未显示。我在这做错了什么。

编辑:我编辑了我的代码如下

UIToolbar *toolbar = [[[UIToolbar alloc] init]autorelease];
toolbar.barStyle = UIBarStyleBlackOpaque;
toolbar.tintColor = [UIColor blackColor];
toolbar.frame = CGRectMake(0, 372, self.view.frame.size.width, 45);
UIBarButtonItem *customItem = [[UIBarButtonItem alloc] initWithTitle:unblockContact style:UIBarButtonItemStyleBordered   target:self     action:@selector(onToolbarTapped:)];
customItem.tintColor = [UIColor blackColor];
NSArray *items = [NSArray arrayWithObjects:customItem, nil];
[toolbar setItems:items animated:NO];
[self.view addSubview:toolbar];
[customItem release];

如何让barbuttonitem占据整个工具栏。用户不应该感觉工具栏上有一个barbuttonitem。我可以这样做,还是有另一种方式? 需要帮助。感谢。

1 个答案:

答案 0 :(得分:1)

UIToolbar是UIView的子类,您应该将其添加为任何其他视图,以下方法是成功使用的方法,

UIToolbar *toolbar = [[UIToolbar alloc] init];
toolbar.frame = CGRectMake(0, 0, self.view.frame.size.width, 45);
NSMutableArray *items = [[NSMutableArray alloc] init];
[items addObject:[[UIBarButtonItem alloc] initWithObjects...]];
[toolbar setItems:items animated:NO];
[self.view addSubview:toolbar];