簡體   English   中英

如何在“ parentViewController”中顯示模式視圖?

[英]How to present modal view in “parentViewController”?

我正在嘗試編寫iPad應用程序。

我有UIViewController作為masterViewdetailView (我的手工splitView)的parentViewController (全屏)。 另外,我有一個單獨的視圖(例如moreDetailView ),其中包含class和xib,我希望將其顯示為模態。

masterView具有UITableViewdetailView具有UICollectionView 他們兩個都有自己的類和xib。 detailView中有幾項。

在我的detailView的 didSelectItemAtIndexPath:中 ,我想顯示moreDetailView

那么,我該怎么做呢? 以及如何在parentViewController中顯示它,而不是detailView中顯示它。

希望我的問題是可以理解的。

要初始化您的masterviewdetailviewparentview 要訪問parentcontroller你可以聲明在屬性detailcontroller作為

UIViewController *parent;

在初始化時,您可以

detailController.parent=self;

在顯示模態時,您可以執行

[parent presentModal]; //instead of [self presentModal];

希望以上對您有用,但是您將需要糾正語法。

下面的代碼將在splitView頂部的模式表單中顯示您的控制器(您可以使用setModalPresentationStyle進行更改)。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    UIViewController *moreDetailViewController = [[MoreDetailViewController alloc] init];
    [moreDetailViewController setModalPresentationStyle:UIModalPresentationFormSheet]; //or style depending on what you want
    [moreDetailViewController setModalTransitionStyle:UIModalTransitionStyleCoverVertical];

    [self presentViewController:moreDetailViewController animated:YES completion:^{
        //stuff you want to do after the viewController has been presented
    }]; }
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    UIViewController *moreDetailViewController = [[MoreDetailViewController alloc] init];
    [moreDetailViewController setModalPresentationStyle:UIModalPresentationFormSheet]; //or style depending on what you want
    [moreDetailViewController setModalTransitionStyle:UIModalTransitionStyleCoverVertical];

    [self presentViewController:moreDetailViewController animated:YES completion:^{
        //stuff you want to do after the viewController has been presented
    }];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM