当UIScrollView在可见视图外滚动按钮时,更改UIButton textLabel位置

时间:2012-08-22 21:49:35

标签: ios uiscrollview uibutton uilabel

我有一个有趣的场景,我有点坚持想法。我希望有人知道某种类型的“UIButton + FloatingLabel”类别,或者只是我忽视的一些简单。

我有一个水平滚动的UIScrollView,带有一堆不同宽度的按钮。我面临的问题是,当UIButton开始在可见视图之外滚动时,textLabel会随之移动(标签在按钮中左对齐)。

我希望能够检测到这一点,并将标签“浮动”在剩余按钮的视图中,直到整个按钮滚动开来。

我能想到的最接近的事情是覆盖UIScrollView layoutSubviews并检查每个contentOffset更新的标签视图,但是对于很多按钮来说这可能会非常昂贵。

有人可以提供一些指导或一些有用的链接吗?任何帮助赞赏,欢呼!

1 个答案:

答案 0 :(得分:0)

可以实现的一种方法是子类UIButton并在该子类中使用您自己的标签。然后覆盖自定义drawRect:的{​​{1}}方法,根据按钮在物理屏幕上的位置(UIButton)更改标签的位置。

希望这会有所帮助。