2017-03-17 4 views
2

私はdefined runtime attributesボタンを使用します。ランタイムアトリビュートボーダーカラー

layer.cornerRadius 
layer.masksToBounds 
layer.borderWidth 

そして私は緑の色で境界線を塗りたい。しかし、私のコードは動作しません:

layer.borderUIColor 

ボーダーは黒色です。ランタイム属性を使用して境界線を塗りつぶす方法は?

enter image description here

+0

あなたはこのコード行のために確かですか? layer.borderUIColorはレイヤの境界線の色に適していますか? これはlayer.borderColorになります。 –

+0

私が 'layer.borderColor'を使用した場合、私のボーダーは消えてしまいました。なぜなら、私たちはUIColorを割り当てることができるからです。私たちはCGColorを割り当てることができませんので、 –

+0

です。プログラムでそれを行う必要があります。 –

答えて

1

実は、あなたが間違ったattribute.Theを使用している、正しい属性がlayer.borderColorです。 しかし、それはCGColorのタイプであり、IBからはUIColorを割り当てることしかできないので、CGColorを割り当てることはできません。

あなたは簡単にprogramaticllyすることができます。

それとも

あなたがタイプCGColorと拡張を作成することができます

+0

もし私が 'layer.borderColor'を使用していたら、私のボーダーは消えました –

+0

私は自分の答えを更新しました。希望、それは助ける –

+0

ありがとう!それは私のための仕事です。この 'layer.masksToBounds'を保存するか削除する必要がありますか? –

0

あなたが使用する必要があります。これは確かに動作します= falseを

-1

をlayer.borderColorをしてlayer.masksToBoundsを設定します。

ストーリーボラードでこれを管理できますが、間違ったキーをここで渡しています。それはする必要があります

layer.borderColorFromUIColor