【发布时间】:2017-06-18 23:00:06
【问题描述】:
我正在使用情节提要和表格视图。我的表格视图中的每个单元格中都有一个UIView。是否可以以编程方式替换此UIView 的IBOutlet?例如做这样的事情:
class CustomTableViewCell: UITableViewCell {
@IBOutlet weak var videoPlayerView: UIView! /// Really this is a VIMVideoPLayerView (from library below) which inherits from UIView.
func configureCell(with customObject: CustomObject) {
// Set the IBOutlet in code here.
self.videoPlayerView = customObject.videoPlayerView
}
}
如果我尝试这样做,什么都不会发生。
我知道很多人会问:“你为什么要这样做?”。在这里:我正在使用这个库VIMVideoPlayer,并创建了包含代码中的 UIView 的实际播放器。我没有重用播放器,而是在代码中一次创建它们,现在想要显示它们。这实际上归结为性能原因,在主线程上重新滚动和滞后。
注意:我已经在代码中使用了这个,但我真的很想使用故事板。我让它在代码中工作的方式是这样做:
videoHolderView.addSubview(customObject.videoPlayerView)
有什么想法吗?
【问题讨论】:
-
总而言之,你想添加一个视频播放子视图。您可以自己添加它,但您也需要在代码中添加约束。或者,您可以将其添加为在 IB 中使用约束设置的视图的子视图。真的没有其他选择了。我想知道子视图选项有什么问题?问题是“滚动和滞后”。那里有什么问题,如果你放弃 UIView,为什么这个问题会消失?
标签: ios swift uitableview uiview uistoryboard