2

我已经下载了一个很好的示例代码UAModalPanel。我已经在我的项目中实现了它,如果我们点击段控件的第一个索引,它将打开 UAModalPanel。我可以成功地实现这一点。

但是,如果我们在段控制中选择第二个或第三个索引,我需要关闭 UAModalPanel 我该如何实现这一点。如果有人知道指导我吗?

在此处输入图像描述 如果我们点击下面的段控件将被调用

   -(void)navBarSegmentCntrl_tapped
{
if(navBarSegmentCntrl.selectedSegmentIndex==0)
{

    UAExampleModalPanel *modalPanel = [[UAExampleModalPanel alloc] initWithFrame:self.view.bounds title:@"dfg" ];



    [self.view addSubview:modalPanel];

    // Show the panel from the center of the screen
    [modalPanel showFromPoint:self.view.center];



}
else if(navBarSegmentCntrl.selectedSegmentIndex==1)
{
    [UAmodal hide];  //UAmodal allocated in view didload//
    imagePickerController = [[UIImagePickerController alloc] init];
    imagePickerController.delegate = self;
    imagePickerController.sourceType = 
    UIImagePickerControllerSourceTypePhotoLibrary;

    [self presentModalViewController:imagePickerController animated:YES];   
}

}

4

1 回答 1

1

问题是您正在调用的对象与您正在调用的对象show不同hide。你应该在你的接口文件中声明它:

@interface MyViewController : UIViewController
{
    UAModalPanel *myModalPanel;
}

然后,当你在navBarSegmentCntrl_tapped方法中显示它时,你初始化它myModalPanel (记住你不需要再做UAModalPanel *myModalPanel一次,一旦你已经设置了它,并且你的视图控制器“已经知道该对象”。你只需这样做myModalPanel = [[UAModalPanel alloc] init....)。

然后,要隐藏它,只需调用[myModalPanel hide];.

于 2012-09-05T08:22:39.910 回答