我的一个视图使用了3个动作表,这些动作表来自单击各种按钮时。由于我只有一个- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex
方法,知道我正在处理哪个操作表的最佳方法是什么?选择我的任何actionSheets上的第一个按钮就是buttonIndex 0.所以我需要知道如何知道来自哪个actionSheet调用。
想法?
答案 0 :(得分:10)
您需要在创建操作表时设置标记,并在操作表方法中对其进行测试。
答案 1 :(得分:1)
我有同样的问题,我只是根据行动表的标题设置条件:
在
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
if (actionSheet.title == @"present action sheet A") {
//do some stuff
}
if (actionSheet.title == @"present action sheet B") {
//do some stuff
}
像魅力一样工作,不确定动作表是否有标签,但也许我错了。
答案 2 :(得分:0)
使用3级操作表的类级别变量。然后,您可以比较actionSheet方法中的操作源。
答案 3 :(得分:0)
创建操作时设置标记
UIActionSheet * actionSheet =
[[UIActionSheet alloc]
initWithTitle:@"My title" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Option1",@"Option2", nil];
actionSheet.tag = 1100;
-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
if(actionSheet.tag == 1100)
{
switch (buttonIndex)
{
case 0:
{
}
break;
case 1:
{
}
break;
default:
break;
}
}
}