在 View Controller 中引用自定义视图时出错
Posted
技术标签:
【中文标题】在 View Controller 中引用自定义视图时出错【英文标题】:Errors referencing custom view in View Controller 【发布时间】:2012-04-08 19:46:01 【问题描述】:我已经为 Interface Builder 中的视图控制器分配了一个自定义视图类。 View Controller 中“view”的引用出口是有效的“CustomView”,并且 Interface Builder 中的视图对象已被分配了一个自定义类“CustomView”。但是,当我尝试在我的视图控制器中引用“CustomView”的特定属性时,通过它的“view”属性,我得到了错误。我认为这是因为它仍然相信它是一个 UIView 类,而不是我的“CustomView”类。
有没有办法更新视图控制器的“视图”类定义?
【问题讨论】:
【参考方案1】:如果您确定有一个 CustomView 对象链接到“视图”,请使用强制转换给编译器一个提示,例如:
[(CustomView *)view doSomething];
或
((CustomView *)view).stringProperty = @"Hello";
如果您希望它安全,请在调用之前检查 view
是否确实是 CustomView 类的成员。
【讨论】:
谢谢菲利普。我能够使用强制转换来访问 CustomView 类的属性。我想我正在寻找一种方法来避免这样做。 我看到的唯一另一件事是创建您自己的 CustomView 属性,在 IB 中链接它,并使用它而不是“视图”。它通过额外的设置和释放增加了一些开销,但如果你喜欢非演员编码,也不会太糟糕。以上是关于在 View Controller 中引用自定义视图时出错的主要内容,如果未能解决你的问题,请参考以下文章
Ruby on Rails如何自定义controller对应的view目录?
MVC:我应该在 View Controller 或 UIView 的自定义子类中添加和实现触摸手势吗
Safari View Controller 自定义大小,框架添加为子视图
如何从自定义 UICollectionViewCell 启动 View Controller