UIViewの境界をぼかす/フェードアウトする方法はありますか?
これまでのところ、コアグラフィックスについてはほとんど何もしていません。
UIViewの境界をぼかす/フェードアウトする方法はありますか?
これまでのところ、コアグラフィックスについてはほとんど何もしていません。
UIViewのCALayerを大きなシャドウ半径と透明度で設定してみてください。何かのようなもの:
#include <QuartzCore/QuartzCore.h>
..。
CALayer *layer = myView.layer;
layer.shadowOpacity = .5;
layer.shadowColor = [[UIColor blackColor] CGColor];
layer.shadowOffset = CGSizeMake(0,0);
layer.shadowRadius = 10;
迅速なバージョンで例を追加する:
btnSignIn.layer.cornerRadius = btnSignIn.frame.height * 0.5
btnSignIn.layer.shadowColor = UIColor.darkGray.cgColor
btnSignIn.layer.shadowRadius = 4.0
btnSignIn.layer.shadowOpacity = 1.0
btnSignIn.layer.shadowOffset = CGSize(width: 0, height: 0)
結果:
ibエディターでシャドウ設定を変更すると、ビューの境界線ではなく、テキストのシャドウが変更されることに注意してください。
また、クラスを作成してIBBuilderで設定することもできます。
class UIRoundedWhiteButton: UIButton {
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
layer.cornerRadius = frame.height * 0.5
layer.shadowColor = UIColor.darkGray.cgColor
layer.shadowRadius = 4.0
layer.shadowOpacity = 1.0
layer.shadowOffset = CGSize(width: 0, height: 0)
}...