2016-09-15 13 views
1

高さ= 149.0、幅= 123.5のUIViewControllerのUIView内にUIViewがあります。%を基にした色でUIViewを塗りつぶします

私はこのUIViewに色を塗りつぶしています。残りの部分のパーセンテージでレスポンスに基づいて塗りつぶす色の高さを設定しています。

ビュー全体を上記の寸法で100%と異なる値で塗りつぶすにはどうすればよいですか?

ご協力いただければ幸いです。あなたはカスタムプログレスバーをしたいわけ

override func drawRect(rect: CGRect) { 


    var percentage = CGFloat() //can declare as instance variable or globally which you get from web service and set it's value!! 



    percentage = 0.5 

    let upperRect = CGRectMake(rect.origin.x, rect.origin.y, rect.size.width, rect.size.height*percentage) 

    let lowerRect = CGRectMake(rect.origin.x, rect.origin.y + (rect.size.height * percentage), rect.size.width, rect.size.height * (1-percentage)) 

    UIColor.redColor().set() 
    UIRectFill(upperRect) 
    UIColor.greenColor().set() 
    UIRectFill(lowerRect) 



} 
+0

、あなたが – kennytm

+0

いいえ、私は進行状況バーをしたくありません。 UIViewの高さが149.0であるため、現在のUIViewを塗りつぶすことができます。値100の場合、UIViewの途中を塗りつぶします。だから私はそれが高さ149.0 100%を埋めるようにしたい –

答えて

1

あなたuiviewで複数の色を埋めるためにしたい場合は

、あなたは UIViewをサブクラス化する必要があり、それが drawRect法のようなものだオーバーライドする必要がありますありがとうございましたか!
+0

私は1つの色だけを充填している –

+0

その後、一度だけ色を設定!これはデモです!あなたの要件に応じてコードを操作する必要があります! – Lion

関連する問題