【发布时间】:2011-02-21 21:04:58
【问题描述】:
当用户触摸 rightbarbuttonitem 时,我已将 UIPopover 添加到我的导航栏。 我想知道显示和消除弹出框的最干净的编码是什么。使用下面的代码,它可以工作,但不正确。 如果用户先触摸 rightbarbuttonitem,弹出框就会出现。现在他可以选择一个单元格,.. 作品。或者您可以触摸弹出框外部,它会消失。两种方式都正确。
但是当触摸 rightbarbuttonitem 之后,再次触摸该图标时,您必须触摸它两次才能再次弹出该弹出框。 (不是第一次接触)。
正确的函数应该是什么样子的?谢谢你的时间..
-(void) downloads:(UIBarButtonItem*)button{
NSLog(@"downloads");
if(tableViewController == nil) {
tableViewController = [[[TableViewController alloc] initWithStyle:UITableViewStylePlain] autorelease];
self.popoverController = [[[UIPopoverController alloc] initWithContentViewController:tableViewController]autorelease] ;
[self.popoverController presentPopoverFromBarButtonItem:barButtonItem permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
tableViewController.delegate = self;
}else {
[self.popoverController dismissPopoverAnimated:NO];
tableViewController.delegate = nil;
tableViewController = nil;
//[self.popoverController release];
//self.popoverController = nil;
}
}
//delegate
-(void) selectedTable:(NSString*)text{
NSLog(@"selectedTable: %@", text);
[self.popoverController dismissPopoverAnimated:YES];
}
【问题讨论】:
标签: iphone uibarbuttonitem uipopovercontroller