如何创建/编程UIlabel以在用户输入时水平滚动?

时间:2013-06-04 01:19:03

标签: ios uilabel

我在iOS中制作一个简单的计算器,我希望用户能够在截断结束时水平滚动标签。

我该怎么做呢?我最初的想法是制作两个按钮,通过使用stringpadtoLength类型的方法向左或向右移动标签,但这似乎效率低下。

2 个答案:

答案 0 :(得分:1)

我看到了两种构建方式。

  1. 使用UITextView并始终从NO返回-textFieldShouldBeginEditing:。这应该让你的速度达到90%。

  2. 使用UIScrollView构建自定义控件,其中包含使用UILabel的{​​{1}}。这将是一项更多的工作,但将完全符合您的期望。

答案 1 :(得分:1)

我选择了Jefferey的第二个建议,因为我认为它可以提供一个更清洁的"结果。事实证明,实施起来并不容易。以下是您在UILabel内放置单行UIScrollView时必须注意的事项,以便能够在文本中水平滚动。

  • UIViewController应该有框"调整滚动视图 插图"选中。如果您忘记了这一点,您的文字可能会放在UIScrollView的内容下方,这意味着如果您在向下滚动时按住它,则只能看到它。
  • [self.toolboxItemNameLabel sizeToFit]; UIViewController中致电viewDidLoad,以便为UILabel设置正确的尺寸。这确保滚动舒适,从文本的左侧到右侧。
  • 使用autolayout时,必须将前导和尾随空格的约束添加到UILabelUIScrollView的容器中。感谢this great post获得答案。