2015-07-05 84 views
0

我有UIViewController。它有一个UIView,其中UIScrollView内有三个对象(UILabel,UIImageView,UITextView)。当我尝试垂直滚动时,没有任何反应我使用自动布局。在没有UIView之前,我在UIScrollView里面做过,但底部有一个空的空间。UIView不在UIScrollView里面垂直滚动

@IBOutlet weak var scrollView: UIScrollView! { 
    didSet { 
     scrollView.delegate = self 
     scrollView.scrollEnabled = true 
     self.scrollView.frame.size = scrollView.contentSize //12 
    } 
} 

enter image description here enter image description here

+0

scrollView.contentSize是什么值...为什么它应该垂直滚动? – jdl

+0

@jdi如果我使'self.scrollView.contentSize = CGSizeMake(self.viewV.frame.width,self.view.frame.height)'我得到错误致命错误:意外地发现零,同时展开一个可选值 – Alexander

+0

尝试设置值自己看:scrollView.frame.size.height = 800.它是否扩展它? – jdl

回答

1

如果您使用自动布局,则无需设置滚动视图的框架,让您的视图成为滚动视图高度约束的子视图,例如800并设置滚动视图和外部视图宽度约束来匹配每个设备的宽度并使用自动布局设置滚动视图框架,这将开始滚动。

请参阅本link进一步的细节

+0

当我像在这个链接中写的那样,我可以很好地在水平滚动但不垂直。 – Alexander

+0

对不起。这是我的错误。我修复了它,它对我有用。谢谢您的回答! – Alexander

+1

很高兴听到那..cheers :-) – suhit

1

的问题是,你设置滚动视图的帧大小等于滚动视图的内容大小。滚动视图只会在其内容大于其框架时滚动。相反,请将滚动视图的框架大小设置为与容器视图的大小相匹配,并将内容大小的高度设置为文本视图的底部。

0

当我们使用的是带有自动布局滚动视图它有点confuting但你看到滚动视图的行为有关,那么你会很容易得到的想法。

对于四边的scrollview设置约束为0。 然后查看您查看的大小(您在滚动视图中添加的大小)并将其设置为滚动查看内容大小。用于视图的 设置与滚动视图宽度相等的权重约束。

我希望它能帮助你。