清除IBDesignable视图具有黑色背景

Bra*_*adB 7 objective-c interface-builder ios swift ibdesignable

我正在尝试创建一个IBDesignable类,它在Interface Builder中呈现时可以具有透明背景.到目前为止,我已经有了不透明的黑色背景.我已经设置了一个简单的问题演示:

我在Interface Builder中放置了一个UIView.您无法看到它,因为它的背景很清晰.这应该是场景应该是什么样子.

界面构建器中空场景的屏幕截图

这个屏幕截图的唯一区别是我将之前不可见视图的类设置为'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
Run Code Online (Sandbox Code Playgroud)

有没有办法为IBDesignable视图提供正确,透明的背景?

Chr*_*ris 10

我记得我是如何解决这个问题的.你需要覆盖layoutSubviews

- (void)layoutSubviews
{
    [super layoutSubviews];

    self.backgroundColor = [UIColor clearColor];
}
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,克里斯!这非常有效.我发现当在`prepareForInterfaceBuilder`函数中设置`self.backgroundColor`时,这个技巧也有效,这可能是一个更好的地方. (2认同)