在此之前,我很抱歉,因为我是一名iOS编程初学者。Swift UIScrollView - 仅适用于垂直滚动的正确实现
我想使用UIScrollView
,因为要显示的内容超出了屏幕的高度。 因此,我只想要一个垂直滚动而不是一个水平滚动。
我使用故事板以AutoLayout
来绘制视图。
这里的是我的UIViewController
与UIScrollView
截图:
然后我改变了标签到大的文本一样,
override func viewDidLoad() {
super.viewDidLoad()
self.label1Label.text = "Seize jours après la chute du président Blaise Compaoré, le Burkina Faso a un nouveau chef d'EtatA l'issue d'ultimes tractions, civils et militaires se sont accordés, lundi 17 novembre, sur le nom du diplomate Michel KafandoSeize jours après la chute du président Blaise Compaoré, le Burkina Faso a un nouveau chef d'EtatA l'issue d'ultimes tractions, civils et militaires se sont accordés, lundi 17 novembre, sur le nom du diplomate Michel Kafando"
self.label1Label.numberOfLines = 0
self.label1Label.sizeToFit()
我的问题是,如果我不要手动设置我的contentView的宽度(在UIScrollView
内),滚动是水平的,而不是垂直的。 (请看下面的截图):
我试图设置contentSize,因为我在很多谷歌后,但没有成功见过:
self.scrollView.contentSize = CGSizeMake(400.0, 600.0)
如果我手动设置宽度我contentview(i.e : 320pts
),滚动将是垂直的(GOOD),但取决于iphone的大小,它不会覆盖整个屏幕宽度,如下图所示:
现在的问题是:使用UIScrollView
有一个contentView
尊重自动布局约束(full screen : 0top - 0bottom - 0left - 0right
)和滚动只是垂直的正确实现是什么。
非常感谢您的帮助!
步骤5做的伎俩!谢谢 ! – fabdarice 2014-12-08 07:48:57
您不必将所有视图元素包含在一个视图中。这没有必要。关键是要确保约束可以指定可滚动内容的维度。来自Apple技术说明:“对滚动视图的子视图的约束必须导致填充大小,然后将其解释为滚动视图的内容大小。”链接到技术说明:https://developer.apple。 com/library/ios/technotes/tn2154/_index.html – Daniel 2015-02-16 22:29:48
步骤5中的水平尺寸可以通过将ContentView宽度设置为等于ScrollView宽度来解决。它可以在IB – 2015-03-24 14:10:49