【问题标题】:How to close UAModalPanel manually如何手动关闭UAModalPanel
【发布时间】:2012-08-29 22:00:54
【问题描述】:

我已经下载了一个很好的示例代码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];   
}

}

【问题讨论】:

    标签: iphone xcode uiviewcontroller modalviewcontroller


    【解决方案1】:

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

    @interface MyViewController : UIViewController
    {
        UAModalPanel *myModalPanel;
    }
    

    然后,当你在navBarSegmentCntrl_tapped 方法中显示它时,你初始化这个myModalPanel(记住你不需要再做UAModalPanel *myModalPanel,一旦你已经设置了它,你的视图控制器“已经意识到对象”。您只需执行myModalPanel = [[UAModalPanel alloc] init....)。

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

    【讨论】:

    • 感谢您的回复。我试过这种方式,但它不起作用。调用了 hide 方法,但 ModalPanel 没有隐藏。我需要设置任何代表吗?
    • 我只分配了UAModalPanel
    • modalPanel 对象用于UAExampleModalPanel,UAmodal 用于UAModalPanel
    • 但是你为什么不使用相同的呢?你试过我写的方法吗?
    • 我没有使用相同的。我添加的代码有什么错误吗?我试过你的方法它不起作用。
    猜你喜欢
    • 2019-03-12
    • 2011-01-18
    • 2012-08-22
    • 2016-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-08
    • 1970-01-01
    相关资源
    最近更新 更多