これは私がポップオーバーを設定する方法です
UIMenuItem *menuItem = [[UIMenuItem alloc] initWithTitle:@"Delete Patient"
action:@selector(customAction:)];
[[UIMenuController sharedMenuController] setMenuItems:@[menuItem]];
次に、必要なメソッドを追加します
- (BOOL)canBecomeFirstResponder {
return YES;
}
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
NSLog(@"canPerformAction");
// The selector(s) should match your UIMenuItem selector
if (action == @selector(customAction:)) {
return YES;
}
return NO;
}
- (void) customAction:(id) sender
{
for (Treatment *t in self.ptToDelete.patientRx) {
[self.managedObjectContext deleteObject:t];
}
[self.managedObjectContext deleteObject:self.ptToDelete];
NSError *error = nil;
if (![self.managedObjectContext save:&error]) {
NSLog(@"Error! %@", error);
}
}
これは iOS6 では機能しますが、現在は機能していません。次のメソッドが呼び出されていません。タップ アンド ホールドすると呼び出されるはずです
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender