带有“删除”操作表的 iOS 上导航控制器上的按钮



iOS :我有打开一些内容的应用程序,并在右侧导航栏上添加了按钮,可以从保存的捕获中删除消息内容,现在我想在删除消息之前放置符合用户的构象操作,我创建了这样的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);

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

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

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

这不是这样做的方法。从导航栏中的按钮调用函数以显示操作表。然后实现 UIActionSheetDelegate 方法actionSheetDidDismissWithButtonIdex 来获取实际删除的汽车。

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

有同样问题的人:

为 button 创建一个函数,可以像这样调用弹出窗口:

-(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");
        }
    }

最新更新