2011-07-01 60 views
7

這可能嗎?基本上,我想給我的UIView一個子視圖,並讓該子視圖位於視圖的圖層前面(更具體地說,在所述圖層邊框的前面)。在CALayer前面放置了一個UIView的子視圖?

當然,我可以通過製作視圖超級視圖的兩個子視圖來達到我想要的效果,一個在另一個之上。但如果可能的話,我寧願避免。

回答

4

我找了一段時間,我自己;我不相信這是可能的。正如你所暗示的,我通過將子視圖和父視圖添加到同一個「容器」超視圖來解決問題。那麼它只是訂購這兩個子視圖的問題,以便您的子視圖位於另一個和其邊界之上。

1

我用segue動畫解決了這個問題,我需要sourceViewController在destinationViewController前面。我不得不刪除sourceViewController以重新嵌套它。我的代碼如下所示:

- (void) perform { 

    UIViewController *sourceViewController = (UIViewController *) self.sourceViewController; 
    UIViewController *destinationViewController = (UIViewController *) self.destinationViewController; 
    UIView *parent = sourceViewController.view.superview; 
    [sourceViewController.view removeFromSuperview]; 
    [parent addSubview: destinationViewController.view]; 
    [parent addSubview:sourceViewController.view]; 

    // Perform animation stuffs... 

} 
相關問題