在自定义 UIView 类中从 UIView 快速创建 IBoutlet [重复]
Posted
技术标签:
【中文标题】在自定义 UIView 类中从 UIView 快速创建 IBoutlet [重复]【英文标题】:Creating IBoutlet from UIView in custom UIView class swift [duplicate] 【发布时间】:2016-08-14 08:15:14 【问题描述】:我有一个 UIView,里面有一个 UIlabel 和一个 UIImage,它放在我的视图控制器上。
我为 UIView 创建了一个自定义类,并尝试在自定义类中为 UIImage 和 UILabel 创建一个 IBoutlet,但我不会让我放弃它。
我已经点击了 UIView 并将其类设置为自定义类,所以我不确定它为什么不让我创建插座。
下面是自定义类uiview(带图片和标签)的截图。您可能需要单击它才能看到它。
感谢您的帮助
【问题讨论】:
我知道你说你不想给FrontView
本身添加出口,但是如果你这样做了,IB 有一个长期存在的错误,它不会自动为子视图创建出口 @987654325 @ subview,但你可以像这里概述的那样手动完成:***.com/a/20295089/1271826
【参考方案1】:
在您的情况下,您应该将插座连接到视图控制器而不是视图。
您应该创建UIViewController
子类,而不是创建UIView
子类:
class FrontViewController: UIViewController
接下来,在情节提要中选择您的视图控制器。在 Identity Inspector(选择左侧面板上带有 ID 卡的选项卡)中,在“Class”字段中输入“FrontViewController”(您的班级名称)。
现在您应该可以将 outlet 拖到班级了!
【讨论】:
【参考方案2】:当您创建 ViewController
时,您只能连接视图控制器 IBOutlets。您设置这个视图类所做的只是标记这个视图应该像这个类一样(你没有在那里创建它,所以你不能将它设置为 IBOutlets)。同样,这对项目不会有任何具有 tat 视图的东西,因为它不是它的创建,这将只是两个单独的视图,您的视图将作为父视图。您唯一需要了解的是,只有当它是视图创建部分时,您才能创建 IBOutlet,因为它只是控制器创建部分,它不会让您有可能为他的内部视图创建这样的部分。
【讨论】:
以上是关于在自定义 UIView 类中从 UIView 快速创建 IBoutlet [重复]的主要内容,如果未能解决你的问题,请参考以下文章
何时在自定义 UIVIew 中添加 CAAnimation?
touchesBegin 在自定义 UITableViewCell,touchesEnded 在 UIView