【问题标题】:Text in UIScrollView is running horizontalUIScrollView 中的文本是水平运行的
【发布时间】:2016-03-04 15:56:43
【问题描述】:

我正在尝试制作可水平滚动的文本。

文本是动态的,但非常大,因此我需要动态的水平空间和滚动能力。

我的树:



我将视图设置为约束 0、-20、-20、-340(上、左、右、下),但我希望底部是动态的,因为我永远不会知道要使用多少文本。

然后我设置约束以将我的 UILabels 居中。

但是当我运行它时,应用程序看起来像这样:

不知道我可能会错过什么。


我的故事板:


【问题讨论】:

  • 不确定我是否理解您想要实现的目标...您希望应用程序按原样运行但滚动还是完全不同?是否将滚动视图的 contentSize 设置为内容的大小?
  • @ChrisBorg 我正在尝试垂直滚动。现在它是水平的。我没有设置 scrollView 的 contentSize .. 内容是动态的,我不完全确定如何.. 很抱歉没有更清楚地解释这一点!
  • 我认为您可能需要为每个项目设置自动布局约束。滚动视图上的约束需要像您编写的那样绑定到主视图。然后,滚动视图内的视图需要与滚动视图绑定约束,类似于您问题中的约束,但没有底部约束和高度约束 >= 而不是首选高度。然后将约束添加到视图内的其余项目到视图中。这有意义吗?

标签: ios autolayout uibuilder


【解决方案1】:

移除此特定屏幕的自动布局

yourView.translatesAutoresizingMaskIntoConstraints = false

并尝试设置所有框架,包括滚动视图的大小及其内容

- (void) viewDidAppear:(BOOL)animated 

祝你好运。

【讨论】:

  • 非常感谢 Maulik 的回复。问题..我会通过 ctrl + 将我的视图拖到我的 ViewController.swift 文件来定位yourView 吗?我尝试了类似的方法,但似乎没有用。只是好奇您如何定位在 UIBuilder 中创建的此类对象。
  • 如果我没有理解错,您想创建一个外部视图(uiview 或 xib)并将其对象连接到您的 viewcontroller.swift 文件。选择您的 xib,然后将 File 的所有者类更改为 viewcontroller.swift。然后可以 ctrl + 拖动。
  • 好吧,这就是我将 xib 链接到代码的方式。不知道那个。所以我现在可以像你推荐的那样定位我的观点。但这不会改变任何事情。文本仍然水平运行,并且它的视图不包含文本并允许我垂直滚动。我认为这是因为视图没有设置明确的宽度。
猜你喜欢
  • 2016-05-19
  • 2015-11-10
  • 2013-03-27
  • 1970-01-01
  • 2011-05-18
  • 1970-01-01
  • 2016-07-29
  • 1970-01-01
  • 2016-09-07
相关资源
最近更新 更多