Swiftで遊ぼう! - 658 - layerのプロパティ
- Swiftで遊ぼう!の前書き-> Life-LOG OtherSide
- Swift2.1 & Xcode7.1対応の日本語版アップルチュートリアル!
- Table View実装チュートリアルをXcode7.3で解説
- Core Data シンプルチュートリアル
- 私の本業、オフィシャルなブログ-> Life-LOG
次のTable Viewのチュートリアルを拡張しています。
「snapshotOfCell()」にあるlayerのプロパティをみていきます。
func snapshotOfCell(inputView: UIView) -> UIView { UIGraphicsBeginImageContextWithOptions(inputView.bounds.size, false, 0.0) let context = UIGraphicsGetCurrentContext()! inputView.layer.renderInContext(context) let image = UIGraphicsGetImageFromCurrentImageContext() as UIImage UIGraphicsEndImageContext() let cellSnapshot : UIView = UIImageView(image: image) cellSnapshot.layer.masksToBounds = false cellSnapshot.layer.cornerRadius = 0.0 cellSnapshot.layer.shadowOffset = CGSizeMake(-5.0, 0.0) cellSnapshot.layer.shadowRadius = 5.0 cellSnapshot.layer.shadowOpacity = 0.4 return cellSnapshot }
layerのプロパティをみるのですが、UIViewに関して詳しい情報が以下のページにありました。
この情報は助かりました。ここを参考にして1つずつプロパティを見ていきます。
var masksToBounds: Bool { get set }
この設定はレイヤーの外枠の外部を覆い隠すか表示させるかの設定です。当然「YES」なら外部がマスクされます。
この設定を「NO」にすると外側の背景が表示されます。
var cornerRadius: CGFloat { get set }
背景の角を丸くする設定です。「10」ぐらいが半円で、小さくすると角が徐々に角張っていきます。「0.0」ということは角は丸くないということです。
var shadowOffset: CGSize { get set }
CGSize(width: 0.0, height: -3.0)はデフォルト値で与えられています。これはシャドーの位置を決めます。 widthおよびheightに正の値を与えると、シャドーは右および下に作られます。負の値にすると左および上に作られます。コードの中の設定はwidthを「-5.0」にしているので左にシャドーを作っていると思いますが、viewの左右は固定されているのでこの設定の意味は無いような気がします... heightに「0.0」が設定されているのでシャドーは上下両方向に出現するということでしょう。
var shadowRadius: CGFloat { get set }
これは「ぼかし」の程度の設定です。大きくすればぼかしが大きくなります。
var shadowOpacity: Float { get set }
陰の透過度です。範囲は 0.0 (透明) から 1.0 (不透明)になりデフォルト値は「 0.0」です。
今日はここまで。