来自TableView的presentModalViewController

时间:2012-05-30 20:24:20

标签: uiviewcontroller delegates presentmodalviewcontroller

我创建了一个带按钮的自定义单元格。 按钮应该呈现一个modalViewController,一个用于电子邮件,另一个用于webView。 我还创建了一个委托来从类中获取回调。

所以在细胞类中:

 _delegateAction = [[HistoryVC alloc] init];
    _delegateAction.delegate = self; 
    [_delegateAction openData:_data Type:_title.text]; //start process

该表所在的类是具有表视图的UIviewController。 (与另一个类的custome单元继承自UiTableViewCell。

如果你需要注意信息,请告诉我。

在UIviewController中的

我试图呈现一个模态视图如下:

-(void) openData: (NSString *)data Type:(NSString*)type
{
    QRWebView * webView = [[QRWebView alloc] init];
    webView.url = data;
    [self presentModalViewController: webView animated:YES];
}

模态视图未显示。我知道我做错了什么,但它是什么?

提前致谢。

2 个答案:

答案 0 :(得分:0)

您已使用_delegateAction = [[HistoryVC alloc] init];创建了一个新的视图控制器,但您没有通过任何方式将其作为控制器层次结构的一部分。

当你致电[self presentModalViewController: webView animated:YES];时,你的self是新的控制器,因为它不在层次结构中,所以它无法呈现另一个控制器。

答案 1 :(得分:0)

我已经设法通过实现PresentModalView来修复它。

我所做的是在AppDelegate类中创建一个showModal和DismissModal。

这些方法通过将其添加为Window,将所需的视图添加到Window:

[Window addsubview TheView];

和Dismiss是removeFromSuperview。

我实现了一个动画来伪造modalView动画。

获取我使用shareApplication的那些方法。

它有效。