2017-03-01 76 views

回答

0

感謝您的幫助。我想我找到了一個解決方案。添加一個子圖層就行。

self.view.backgroundColor = UIColor.red 
let bottomBorder = CALayer() 
let t = CGRect(x: 0.0, y: (self.view.frame.size.height/100.0)*80, width: self.view.frame.size.width, height: (self.view.frame.size.height/100.0)*20) 
bottomBorder.frame = t 
bottomBorder.backgroundColor = UIColor.blue.cgColor 
self.view.layer.addSublayer(bottomBorder) 
6

添加兩種觀點是得到你想要的東西的好方法

的另一種方式將是通過代碼添加子層到您的視圖(和最好的,因爲你可以通過限制設置%):

let gradient: CAGradientLayer = CAGradientLayer() 
let topColor = UIColor(red:223.0/255.0, green:142.0/255.0, blue:219.0/255.0, alpha:255.0/255.0).cgColor 
let bottomColor = UIColor(red:0, green:201.0/255.0, blue:243.0/255.0, alpha:255.0*0.34).cgColor 
gradient.colors = [topColor, UIColor.clear, bottomColor] 
gradient.locations = [0.0 , 0.5, 1.0] 
gradient.frame = self.view.bounds 
self.view.layer.insertSublayer(gradient, at: 1) 

我只會使用圖層方法,如果你想做一些像漸變一樣時髦的東西。

+1

您還可以使用2個子層而不是2個子視圖:更快地使用更少的資源。 –

+0

使用兩個視圖的另一個問題是如果您關心將子視圖添加到其中一個或兩個視圖。 – dfd

+0

問題我正面臨使用兩個視圖是檢查zposition總是爲其他插件視圖。 – user1837779