我正在尝试以本机方式复制TVML模板,该模板提供了一个扩展到屏幕边界之外的可点击图像网格。我使用滚动视图进行此尝试,但无法选择添加到滚动视图中但在其可见区域之外的元素。
为了简单起见,使用按钮的草图代码如下:
let dim = 50
for i in 0..<10 {
for j in 0..<10 {
let frame = CGRect(x: i * (dim + 10), y: j * (dim + 10), width: dim, height: dim)
let button = UIButton(type: .System)
button.frame = frame
myScrollView.panGestureRecognizer.allowedTouchTypes = [UITouchType.Indirect.rawValue]
myScrollView.addSubview(button)
}
}
滚动视图的大小使这些按钮中只有一半可见。为什么滚动视图没有滚动到此区域外的按钮(使用Siri遥控器)?我以为panGesture触摸类型可能会有所帮助,但它没有。我是不是错过了一些显而易见的东西?
将contentSize属性设置为滚动视图。确保所有组件都小于给定的内容大小。
myScrollView.contentSize = CGSizeMake(1880, 2000)
实际上,只使用UICollectionView
会容易得多。如果在每个单元格中添加一个图像,则在根据需要调整集合视图后,将获得所需的行为。
本教程在某种程度上解释了它的工作原理。http://www.brianjcoleman.com/tutorial-collection-views-using-flow-layout/