首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IBInspectable UIView性质

IBInspectable UIView性质
EN

Stack Overflow用户
提问于 2015-05-30 16:21:22
回答 2查看 1.3K关注 0票数 3

我可以检查我的UIView @property吗?

代码语言:javascript
复制
@interface Superview : UIView 
    @property (nonatomic, weak, readonly) IBInspectable UIButton *stopButton;
    @property (nonatomic, weak, readonly) IBInspectable PKCircleProgressView *circleProgressView;
@end

我已经创建了一个可设计的视图PKCircleProgressView,我希望它可以从IB中编辑。此外,我还创建了另一个可设计视图,其中包含PKCircleProgressView作为子视图,并且我希望它也是可编辑的。

如果我在IB中使用Superview,有什么方法可以编辑circleProgressView的属性吗?

我只提出了一个想法,为两个视图创建一个通用协议,并实现如下方法:

代码语言:javascript
复制
- (void)setProgress:(CGFloat)progress {
    self.circleProgressView.progress = progress;
}

但是使用每个属性都不容易做到这一点,特别是如果我想创建另一个包含我的Superview的视图的话。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-30 17:05:51

IBInspectable不支持UIView或它的子类型。它支持简单的值。

如果您的自定义进度视图是IBDesignable,为什么不将它的属性(如半径和前景颜色)设置为IBInspectable,并在接口生成器中选择进度视图并更改进度视图的属性?

如果您创建了一个IBDesignable超级视图,您可能可以使用类似于Decorator模式的方式公开它的按钮和进度视图的可检查属性。

苹果的文档

票数 5
EN

Stack Overflow用户

发布于 2015-06-01 16:07:12

不,你不能让UIView检查。IBInspectable的使用仅用于在NIB或情节提要中配置实例的“键值”编码属性。假设,如果UIView是关键,那么它的价值是什么?UIView没有价值,因此不能对UIView进行检查。但是,我们可以使UIView的属性可以检查,例如:

UIView的backgroundColor,宽度,高度等

样本项目:IBDesignable和IBInspectable

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30548476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档