【发布时间】:2017-09-26 11:31:13
【问题描述】:
我有一个 view.xib 文件,它有一个小容器(容器视图),其中包含按钮/文本字段等所有控件,控件的所有事件都由父 view.xib 类文件处理。
我的要求是在一个地方我需要添加/显示父级,即 view.xib 完成的屏幕。在另一个地方,我只需要添加容器视图。当我仅添加/显示容器视图时,控件的关联事件/方法不起作用。
所以我想,如果我可以用父view.xib的类来改变容器视图的类,我的工作就可以完成了。
因此,如果可以以这种方式处理,请建议我一些其他解决方案或类混合。
基本上我在 uitableview 单元格的容器(视图)上添加容器视图,我的代码如下
if let questionContainerView = cellQuestionView.viewQuestionContainer {
// let questionContainerView = cellQuestionView
cell.viewQuestionContainer.addSubview(questionContainerView)
questionContainerView.translatesAutoresizingMaskIntoConstraints = false
cell.viewQuestionContainer.addConstraint(NSLayoutConstraint(item: questionContainerView, attribute: NSLayoutAttribute.left, relatedBy: NSLayoutRelation.equal, toItem: cell.viewQuestionContainer, attribute: NSLayoutAttribute.left, multiplier: 1, constant: 0))
cell.viewQuestionContainer.addConstraint(NSLayoutConstraint(item: questionContainerView, attribute: NSLayoutAttribute.right, relatedBy: NSLayoutRelation.equal, toItem: cell.viewQuestionContainer, attribute: NSLayoutAttribute.right, multiplier: 1, constant: 0))
cell.viewQuestionContainer.addConstraint(NSLayoutConstraint(item: questionContainerView, attribute: NSLayoutAttribute.top, relatedBy: NSLayoutRelation.equal, toItem: cell.viewQuestionContainer, attribute: NSLayoutAttribute.top, multiplier: 1, constant: 0))
cell.viewQuestionContainer.addConstraint(NSLayoutConstraint(item: questionContainerView, attribute: NSLayoutAttribute.bottom, relatedBy: NSLayoutRelation.equal, toItem: cell.viewQuestionContainer, attribute: NSLayoutAttribute.bottom, multiplier: 1, constant: 0))
cellQuestionView.layoutIfNeeded()
}
【问题讨论】:
-
你能添加一些代码来更好地解释你的问题吗?
-
我已经编辑了我的问题
标签: ios swift xcode class method-swizzling