我有一个名为-showMoreTools:的方法,其代码如下:
- (IBAction) showMoreTools:(id)sender {
UIActionSheet *popupQuery = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:nil destructiveButtonTitle:@"Close" otherButtonTitles:@"Add Bookmark", @"Add to Home Screen", @"Print", @"Share", nil];
popupQuery.actionSheetStyle = UIActionSheetStyleDefault;
popupQuery.dismiss
[popupQuery showFromBarButtonItem:moreTools animated:YES];
[popupQuery release];
}
当用户点击一个UIBarButtonItem
时,它会显示那个UIActionSheet
,但是如果用户想关闭UIActionSheet
而不是点击关闭按钮(即点击UIBarButtonItem
),那么它会在第一个UIActionSheet
上再次显示UIActionSheet
。
有没有办法通过再次点击UIBarButtonItem
来关闭UIActionSheet
?
非常感谢 - 我是iOS编程的新手!
UIActionSheet:clickedButtonAtIndex
弹出一个UIAlertView
时,didDismissWithButtonIndex
没有被调用。 - Filipe Pinaif (actionSheet_)
可以替换为if ([actionSheet_ superview])
。我使用了 DTFoundation 中的 DTActionSheet,因此覆盖 cancel 方法不适合我。 - Roman B.