2
我想濮上的UIBarButtonItem徽章,在一個SPLITVIEW如何爲UIBarButtonItem實現徽章?
此代碼控制酥料餅沒有做什麼:
- (void)splitViewController: (UISplitViewController*)svc
willHideViewController:(UIViewController *)aViewController
withBarButtonItem:(UIBarButtonItem*)barButtonItem
forPopoverController: (UIPopoverController*)pc
{
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 44, 44)];
[view setBackgroundColor:[UIColor greenColor]];
UIView *badge = [[UIView alloc] initWithFrame:CGRectMake(36, 0, 8, 8)];
[badge setBackgroundColor: [UIColor redColor]];
[view addSubview:badge];
[badge release];
UIBarButtonItem *aBBItem = [[UIBarButtonItem alloc] initWithCustomView:view];
[aBBItem setTarget:barButtonItem.target];
[aBBItem setAction:barButtonItem.action];
NSLog(@"%@ %s", aBBItem.target, aBBItem.action);
[view release];
barButtonItem.title = @"Bars";
NSMutableArray *items = [[toolbar items] mutableCopy];
[items insertObject:aBBItem atIndex:0];
[aBBItem release];
[toolbar setItems:items animated:YES];
[items release];
self.popoverController = pc;
}
而以下嘗試拋出一個錯誤:
- (void)splitViewController: (UISplitViewController*)svc
willHideViewController:(UIViewController *)aViewController
withBarButtonItem:(UIBarButtonItem*)barButtonItem
forPopoverController: (UIPopoverController*)pc
{
UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 44, 44)];
UIView *badge = [[UIView alloc] initWithFrame:CGRectMake(36, 0, 8, 8)];
[badge setBackgroundColor: [UIColor redColor]];
[button addSubview:badge];
[badge release];
[button addTarget:barButtonItem.target action:barButtonItem.action forControlEvents:UIControlEventTouchUpInside];
[button setTitle:@"Bars" forState:UIControlStateNormal];
UIBarButtonItem *aBBItem = [[UIBarButtonItem alloc] initWithCustomView:button];
[button release];
barButtonItem.title = @"Bars";
NSMutableArray *items = [[toolbar items] mutableCopy];
[items insertObject:aBBItem atIndex:0];
[toolbar setItems:items animated:YES];
[aBBItem release];
[items release];
self.popoverController = pc;
}
錯誤:Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Popovers cannot be presented from a UIBarButtonItem that is not in a toolbar or navigation bar already.'
如何將徽章添加到UIBarButtonItem?
哇,我沒想到會有答案了。謝謝! – vikingosegundo 2010-12-02 20:16:02
歡迎光臨! – vikingosegundo 2010-12-02 20:25:36
此代碼中添加的徽章在哪裏? – RPM 2011-09-12 18:32:30