iOS上导航控制器上的按钮,带有Delete actionSheet

时间:2012-09-25 01:52:23

标签: ios iphone cocoa ipad

iOS: 我有app打开一些内容,我在右侧导航栏上添加了按钮,可以从已保存的catch中删除消息内容,现在我想在删除消息之前放置符合用户的构造操作, 我已经创建了这样的UIActionsheet:

sheet = [[UIActionSheet alloc] initWithTitle:@"Delete Message" delegate:self cancelButtonTitle:@"Cancel"   destructiveButtonTitle:@"Delete Message" otherButtonTitles:nil];
 // view sheet 
 [sheet showInView:self.view];
 NSLog(@"Button %d", buttonIndex);

现在我如何在deleteContent函数中使用此值? 我的删除功能是

-(void) deleteContent 
{
   if (buttonIndex=0)
     {
      [[NSFileManager defaultManager] removeItemAtPath:fileName error:&e];
     }
}

我的问题是如何在一个函数中重新排列这个函数,这个函数可以在一次调用中调用并完成所有这些。

2 个答案:

答案 0 :(得分:1)

这不是这样做的方法。从导航栏中的按钮调用功能以显示操作表。然后实现UIActionSheetDelegate方法actionSheetDidDismissWithButtonIdex以获取您实际删除的信息。

编辑:如果您需要从导致显示操作表的方法中传递要删除的项目的标识,只需向您的presentActionSheet方法添加一个参数并传递该项目。

答案 1 :(得分:0)

有同样问题的人:

为可以调用弹出窗口的按钮创建一个函数:

-(void)popUp
{

    sheet = [[UIActionSheet alloc] initWithTitle:@"Are you Sure?"
                                        delegate:self
                               cancelButtonTitle:@"Cancel"
                          destructiveButtonTitle:@"Delete Message"
                               otherButtonTitles:nil];
    // Show the sheet
    [sheet showInView:self.view];
    //[sheet release];
    NSLog(@"Button %d", buttonIndex);
}

并创建另一个处理基于弹出操作删除部分的函数,如下所示:

   - (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex
    {
        if (buttonIndex == 0) {  //delete it

            //delete from database
            //delete from folder
            [[NSFileManager defaultManager] removeItemAtPath:fileName error:&e];
            //close
            [[self navigationController] popViewControllerAnimated: YES];
        }else if {
             NSLOG(@"USER said No");
        }

    }