6

UIViewの境界をぼかす/フェードアウトする方法はありますか?

これまでのところ、コアグラフィックスについてはほとんど何もしていません。

4

2 に答える 2

15

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;
于 2012-09-10T16:18:30.900 に答える
2

迅速なバージョンで例を追加する:

    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)
}...
于 2018-06-14T10:05:02.537 に答える