我对Swift和ios开发非常陌生,但我找不到一种方法让UIScrollView向下滚动并停留在底部。我已经尝试了很多教程,但仍然没有解决。我的ScrollView元素中有一个ContentView元素。这个ContentView包含了我想要通过滚动查看的所有框,但它无法滚动。不过如果弹跳的话也可以...有人能指点我正确的方向吗?
我对Swift和ios开发非常陌生,但我找不到一种方法让UIScrollView向下滚动并停留在底部。我已经尝试了很多教程,但仍然没有解决。我的ScrollView元素中有一个ContentView元素。这个ContentView包含了我想要通过滚动查看的所有框,但它无法滚动。不过如果弹跳的话也可以...有人能指点我正确的方向吗?
viewDidLayoutSubviews
中设置contentSize
。override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
scrollView.contentSize = CGSize(width: 375, height: 1500)
}
经过两天的努力,我终于弄清楚了,而且非常简单。我所做的只是将scrollView设置为屏幕大小,然后将content view高度设置为1500px,它就开始工作了。谢谢大家!
contentSize
。如果您没有使用自动布局,请按照以下步骤操作:scrollView.contentSize = // The size of your content.
UIScrollView
的相应边缘的NSLayoutConstraints
。通过这样做,UIScrollView
的内容大小将自动设置。@IBOutlet var ScrollView: UIScrollView!
@IBOutlet var ContentView: UIView!
@IBOutlet var Status: UIView!
@IBOutlet var Camera: UIView!
@IBOutlet var TextBox: UIView!
@IBOutlet var Post_Text: UIView!
@IBOutlet var Post_Media: UIView!
@IBOutlet var Like_Button: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
ScrollView.contentSize = CGSize(width: 375, height: 1500)
}` - FreeTheStudentsSWIFT 4.0更新
@IBOutlet weak var myScrollView: UIScrollView!
override func viewDidLoad() {
super.viewDidLoad()
myScrollView.alwaysBounceVertical = true
myScrollView.alwaysBounceHorizontal = true
myScrollView.isScrollEnabled = true
myScrollView.contentSize = CGSize(width: 375, height: 1000)
}
只是想在FreeTheStudentsAnswer中添加一条注释,以防有人遇到与我类似的问题 - 我将scrollView设置为屏幕大小,然后将内容视图高度设置为较大的值,它开始工作了,只有当我在viewDidAppear中设置这些而不是在viewDidLoad中设置时。不确定这是否会对任何人有所帮助,但这解决了我的问题。
在滚动视图中,只有当滚动视图有足够的空间来滚动其内容时,才会发生滚动。
你说滚动视图和其内容视图具有相同的尺寸。 那么它就不会滚动。 如果您希望它滚动,scrollview.contentSize应该至少是scrollview大小的两倍。
提示:scrollview的尺寸不应大于iPhone屏幕尺寸。而scrollview内容的大小应该大于scrollview本身。 滚动视图通过其内容视图进行滚动。
试一下
1.scrollView.bounds = YES;
2.scrollView.contentSize = CGSize(width: self.view.frame.size.width, height: YourContentView.frame.size.height);