Я добавил UIPopover к моей панели навигации, когда пользователь касается правой кнопки.Я хочу знать, что самое чистое кодирование для показа и отклонения поповера.С кодом ниже, это работает, но не правильно.Если пользователь сначала коснется правой кнопки, появится всплывающее окно.Теперь он может выбрать ячейку, .. работает.Или вы можете коснуться за пределами поповер, и он исчезнет.В обоих направлениях правильно.
Но при прикосновении к правому значку кнопки и после этого, снова прикоснувшись к этому значку, нужно дважды прикоснуться к нему, чтобы снова вызвать этот поповер.(Не при первом касании).
Как должна выглядеть эта правильная функция?Спасибо за ваше время ..
-(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];
}