2017-03-17 25 views
0

有一個問題給你們。在我的計劃,我有一個通過this.NavigationController.AddChildViewController(pvController)添加爲子視圖控制器,並通過View.AddSubview(pvController.View)InsertSubviewBelow無法正常工作;查看顯示高於其他視圖

添加爲我現在的觀子視圖我添加了一個轉變我的看法,使得其向下滑動在Y一UIPageViewController軸250個單位:

UIView.Transition(this.View, 1.5, UIViewAnimationOptions.CurveEaseOut,() => 
      { 
       this.View.Frame = animateTo; 
      }, null); 

我想另一個UIViewUIPageViewController.View這樣,當我觸發我的過渡,另一種觀點似乎滑入到位後面。問題是,我已經嘗試了很多種方法來做到這一點無濟於事。這裏是所有的,我已經盡力做到這一點迄今方式:

 View.SendSubviewToBack(behind); 
     pvController.View.InsertSubviewBelow(behind, pvController.View); 
     pvController.View.InsertSubviewAbove(behind, pvController.View); 
     pvController.View.SendSubviewToBack(behind); 

他們都產生相同的事情:UIView的behind顯示以上pvController.View

任何人有任何想法?非常感謝幫助!

回答

0

不是您的問題的解決方案,而是您可以用來幫助解決問題的方法。

在XCode中,有可能使用debug your view hierarchy,它可以幫助您查看視圖的位置。

要訪問此功能,請點擊該窗口上,而您的應用程序是在一個斷點:

enter image description here

這將然後顯示在Xcode中以下內容:

enter image description here

希望,這可以幫助您找出視圖的位置。

+0

我很欣賞brotha,絕對是我以前沒有的額外知識。但是,我只是想出瞭如何去做我正在尋找的東西,如下所示。謝啦! –

0

只是修好了!這比我想象的要簡單一些。儘管如此,我還是想知道爲什麼InsertSubviewBelow不起作用。

這裏是我做過什麼來實現我想要的效果:

View.AddSubview(pvController.View); 
View.AddSubview(behind); 
View.SendSubviewToBack(behind); 

和視圖加載時,ViewDidLoad()後,behind確實落後pvController.View