我有一个项目,我正在尝试使用UIScrollView
水平滚动,但我无法滚动。
通过Interface Builder添加了scrollview,然后在viewWillAppear()
中设置了这就是我所做的:
let overview = CourseDetails(course: self.course, type: holes, frame: CGRect(x: 0, y: 0, width: 812, height: 100))
scrollView.addSubview(overview)
scrollView.contentSize = CGSize(width: 812, height: 100)
overview.frame.size.width = 812
scrollView.translatesAutoresizingMaskIntoConstraints = false
scrollview的内容视图宽度为812,而UIViews框架的宽度为345 ......
在整个scrollview场景中是否缺少一个步骤?
答案 0 :(得分:1)
您无需设置content size
的{{1}}。您可以在界面构建器中进行设置。
在UIScrollView
中执行以下步骤:
interface builder
UIScrollView
作为UIView
的子视图,该视图将是UIScrollView
的内容视图。现在,您将要滚动的所有其他视图添加为此UIScrollView
的{{1}}。现在为subviews
和内容contentView
(UIView)设置约束。
UIScrollView
设置view
约束为UIScrollView
。
对于Leading, Trailing ,Top and Bottom
superView
,将contentView
约束引脚设置为UIScrollView
现在是设置leading, trailing, top and bottom
的{{1}}的棘手部分。为UIScrollView.
设置content size
和UIScrollView
约束。
您必须将width
和height
设置为contentView
。要设置这两个约束,请在width
上进行选择,然后控制+拖动到height
,然后选择相等UIScrollView
并等于contentView
。
如果您想要水平滚动,请将约束优先级设置为UIScrollView
的低(250);如果您想要垂直滚动,则将约束优先级设置为width
。
答案 1 :(得分:0)
我认为,CourseDetails视图生成会出现问题。我使用以下代码检查:
1. Enable check mark for scrolling enabled [Scrolling Section]
2. Enable check mark for user interaction enabled [View Section]
它在工作。请分享CourseDetails视图信息以解决此问题,否则很难跟踪。
请检查界面构建器滚动视图设置:
l5_error = np.linalg.norm(y-l5)