概要
CSSでいう、border-left
, border-right
みたいなやつ。
使い方
以下のファイルをプロジェクト内にコピーします。
以上で下記border
メソッドが追加されます。
使用例
ViewController.swift
// ビューを生成
let someView = UIView(frame: CGRectMake(0, 0, 200, 100))
// TopとRightに線をつける
someView.border([.Top, .Right], borderWidth: 3.5, borderColor: borderColor)
メソッド
func border(positions: [BorderPosition], borderWidth: CGFloat, borderColor: UIColor?)
引数
- positions
.Top
, .Left
, .Right
, .Bottom
から選択して配列にしたもの
- borderWidth
borderの幅。
- borderColor
borderの色。オプショナル。
特記事項
autolayoutに対応しています。
また、その影響から、サイズが変わるたびにUIViewのlayerにaddSublayerしたレイヤーを一度全て削除しています。
※この辺うまいやり方ないでしょうかね。。
その他
- もちろん、UIViewを継承しているUIlabel他ビューパーツでも使えます。
- もっといいやり方あったら教えてくださいm(__)m
コード
UIViewに限らず、よく使いそうな機能をExtensionとしてまとめていっています。
以下、Github上にコードを上げています。随時増やしていく予定です。
追記 2015/12/24
この投稿に書いたExtensionを含め、UIKitを拡張したExtensionをまとめてCocoaPodsのライブラリ化しました。
ライブラリはこちら。
また、CocoaPodsへのライブラリ登録の方法をこちらに投稿しました。
参考になれば幸いです。