2015-04-25 55 views
0

我遇到的问题是我的UIScrollView以我期望的方式滚动。我想它是1200点高,我已经设法让它滚动到这个高度,但是我有几个问题。如何正确设置UIScrollView高度

首先,内容是从屏幕下方开始的,它应该是。它看起来像是在导航栏下方(导航栏的高度)向下滚动了64像素。我怎样才能得到它,以便它从导航栏下面开始?

此外,我在视图中有三个按钮,在点击时不会调用它们的功能。我假设这是因为我以某种方式在UIScrollView的大小上犯了一个错误。如果将它们移动到主框架(屏幕大小)内,这些按钮将起作用。

这是我的代码:

override func viewDidLoad() { 
    super.viewDidLoad() 

    scrollView.contentSize = CGSize(width: view.bounds.width, height: 1200) 
} 

override func viewDidLayoutSubviews() { 
    super.viewDidLayoutSubviews() 
    scrollView.frame = CGRect(x: 0, y: 0, width: view.bounds.width, height: view.frame.height) 
} 

UPDATE:

我固定的问题与按钮。我忘了在UIScrollView中设置对象放置在视图的高度。尽管如此,如果有人有任何想法,仍然没有解决问题的出发点?

回答

0

如果你在你的代码中加入断点,你会注意到在 viewDidLoad之后的viewDidLayoutSubviews获得了。有效地,当您在viewDidLoad中设置scrollView.contentSize时,将不会加载视图框架,并且由于此CGSize(width:view.bounds.width,height:1200)可能会将内容大小设置为{0,1200} 。

您想在之后将contentSize代码移动到,您将在viewDidLayoutSubviews方法内更新scrollView框架。

关于你的问题的第一部分,你可能想看看UIScrollView的contentInset属性。

希望这会有所帮助!