我已經實現了一個UIMenuItem,通過長按TabViewController上的一個項目來顯示它是UITabBarController的一個元素。 我在下面做了如下的操作UIMenuItem在切換到其他選項卡後沒有出現
- (void)viewDidLoad
{
resendMenuItem = [[UIMenuItem alloc] initWithTitle:@"Kirim Ulang" action:@selector(resend:)];
[[UIMenuController sharedMenuController] setMenuItems: @[resendMenuItem]];
[[UIMenuController sharedMenuController] update];
}
- (BOOL)tableView:(UITableView *)tableView shouldShowMenuForRowAtIndexPath:(NSIndexPath *)indexPath {
return YES;
}
-(BOOL)tableView:(UITableView *)tableView canPerformAction:(SEL)action forRowAtIndexPath:(NSIndexPath *)indexPath withSender:(id)sender {
selectedIndex = indexPath.row;
return (action == @selector(resend:));
}
- (BOOL)tableView:(UITableView *)tableView performAction:(SEL)action forRowAtIndexPath:(NSIndexPath *)indexPath withSender:(id)sender {
selectedIndex = indexPath.row;
return YES;
}
-(BOOL) canPerformAction:(SEL)action withSender:(id)sender {
return (action == @selector(resend:));
}
-(BOOL)canBecomeFirstResponder {
return YES;
}
/// this methods will be called for the cell menu items
-(void) resend: (id) sender
{
// do something
}
最初菜單很好顯示。但是,切換到UITabBarController中的其他選項卡後,再切換回UITableViewController,如果長按按鈕,菜單將不會出現。爲什麼?
如果從viewDidLoad中移動你的代碼viewDidAppear會發生什麼?我猜測當切換標籤頁時,某些東西會被取消,而且由於viewcontroller已加載,所以您的UIMenuController不希望顯示。 –
仍然沒有工作.. – mrkhv
我還在等待其他答案.. – mrkhv