2016-06-08 60 views
1

我有一個視圖,帶有超前視圖的引導和尾隨約束常量= 20。我試圖給該視圖添加一個漸變圖層,但它只繪製了560的寬度,這是故事板中的寬度(尺寸類別處於活動狀態)添加到主視圖的子視圖的尾部約束不會粘連

看起來像尾隨約束不會作爲視圖框架大小爲768,因爲它應該是iPad。我沒有得到任何自動佈局錯誤,當我將背景顏色設置爲非清晰的東西時,它看起來很好,但漸變仍未完全繪製。

任何想法??

func setupGradient(view: UIView) { 
    let colorArray = [UIColor.blackColor().CGColor, UIColor.whiteColor().CGColor] 
    let gradient: CAGradientLayer = CAGradientLayer() 

    gradient.frame = view.bounds 
    print(gradient.frame) 
    print(self.view.bounds) 
    gradient.startPoint = CGPoint(x: 0, y: 0.5) 
    gradient.endPoint = CGPoint(x: 1.0, y: 0.5) 
    gradient.colors = colorArray 
    view.layer.addSublayer(gradient) 
} 

從print語句: (0.0,0.0,560.0,70.0) (0.0,0.0,768.0,1024.0)

enter image description here

enter image description here

回答

0

自動佈局和自動尺寸口罩工作UIViews不在CALayers

一旦設置了圖層框架,自動佈局可以更改視圖框架而不是圖層框架。

我們需要手動更改層幀

- (void) viewDidLayoutSubviews { 
    [super viewDidLayoutSubviews]; 
    gradientLayer.frame = gradientView.bounds; 
} 
相關問題