8

Interface Builder でレンダリングするときに透明な背景を持つことができる IBDesignable クラスを作成しようとしています。これまでのところ、不透明な黒の背景が得られました。この問題の簡単なデモをセットアップしました。

Interface Builder でこのシーンに UIView を配置しました。背景がクリアなので見えません。これは、シーンがどのように見えるべきかです。

Interface Builder の空のシーンのスクリーンショット

このスクリーンショットの唯一の違いは、以前は見えなかったビューのクラスを「DesignableView」に設定したことです。

中央にブラック ボックスがある Interface Builder シーンのスクリーン ショット

DesignableView クラスの実装全体を次に示します。

#import <UIKit/UIKit.h>

IB_DESIGNABLE
@interface DesignableView : UIView
@end

@implementation DesignableView
- (void)drawRect:(CGRect)rect {
    //rendering code goes here
}
@end

IBDesignable ビューに正しい透明な背景を与える方法はありますか?

4

1 に答える 1

11

これを修正する方法を思い出しました。オーバーライドする必要がありますlayoutSubviews

- (void)layoutSubviews
{
    [super layoutSubviews];

    self.backgroundColor = [UIColor clearColor];
}
于 2015-01-02T20:43:24.897 に答える