2017-03-01 4 views
1

スウィフトの新しい機能私のバックグラウンドビューは80%の高さを赤色で青色にしたい。現在私は2つのビューを追加しています。私はそれを行う直接的な方法があると思います。ご指導やご協力をいただければ幸いです。 (。あなたは制約を経由して%を設定することができるので、最高の)ios swiftでバックグラウンドビューの色を部分的に変更する方法

答えて

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

2つのビューを使用する際のもう1つの問題は、それらのビューの1つまたは両方にサブビューを追加したい場合です。 – dfd

+0

の問題私は2つのビューを使用して直面している問題は、常に他のアドオンビューのzpositionをチェックしています。 – user1837779

関連する問題