【发布时间】:2019-11-08 14:30:36
【问题描述】:
问题
我正在尝试将自定义视图从 xib 添加到 UIScrollView。
我将 UIScrollView 添加到情节提要中的空 ViewController 中。我还为安全区域添加了前导、尾随、顶部、底部的 4 个约束,并将它们都设置为等于 0。
现在在代码中,我想将自定义视图“EquipmentInfoView”添加到现有的 UIScrollView
class EquipmentInfoVC: UIViewController {
@IBOutlet var scrollView: UIScrollView!
override func viewDidLoad() {
super.viewDidLoad()
equipmentInfoView = EquipmentInfoView.instantiate()
scrollView.addSubview(equipmentInfoView)
}
}
而且它不起作用,因为 ScrollView 不滚动。我应该怎么做呢?
这里是自定义视图“EquipmentInfoView”
class EquipmentInfoView: UIView {
@IBOutlet var nameTextView: UITextView!
@IBOutlet var descriptionTextView: UITextView!
@IBOutlet var equipmentImageView: UIImageView!
static func instantiate() -> EquipmentInfoView {
let view: EquipmentInfoView = initFromNib()
return view
}
}
补充说明
我知道这不是从 xib 创建自定义视图的常规方法。但是,这样我不必将文件的所有者设置为“EquipmentInfoView”,而是将视图的自定义类设置为“EquipmentInfoView”。 (当我进行单元测试时,将文件的所有者设置为“EquipmentInfoView”会给我 EXC_BAD_ACCESS)
为了清楚起见,这就是我将此视图添加到普通(非滚动)视图的方式:
equipmentInfoView = EquipmentInfoView.instantiate()
mainView.addSubview(equipmentInfoView)
equipmentInfoView.frame = mainView.bounds
equipmentInfoView.autoresizingMask = [.flexibleHeight, .flexibleWidth]
【问题讨论】:
标签: swift uiscrollview xib nib