iOS创建标签列表

时间:2012-02-23 22:28:01

标签: iphone ios xcode cocoa-touch

我目前正在尝试在我的应用中实现一项功能,以显示帖子的标签。我希望它与StackOverflow上的标签非常相似,因为它们具有彩色背景。

另一个例子是内联标签here

我只是不确定如何实现它。我的第一个猜测是创建一个UILabel数组......有什么建议吗?

2 个答案:

答案 0 :(得分:3)

找出你想要标签的样子。如果你可以使用标签或代币等现有组件实现这种外观,那么问题就解决了。如果没有,创建自己的UIView子类绘制背景和文本位非常简单 - 您不需要编写比自定义-drawRect:方法更多的代码,甚至这应该很容易。例如,如果您想要一些看起来像Twitter-ish内联标签的东西,您可以从可调整大小的图像开始,然后在顶部绘制文本。

不要害怕创建自己的视图类......这很有趣!

答案 1 :(得分:2)

您可能需要编写两个类。

第一个(我们称之为Horizo​​ntalLayoutView)将扩展UIView。它将用作容纳所有标记的容器视图。它会覆盖layoutSubviews方法,通过设置框架来排列子视图。创建一个此实例并将其作为子视图添加到现有视图中。

另一个(让我们称之为TagView)也将扩展UIView,或者也许是UILabel。此类的实例将表示每个标记。为每个标记创建一个实例,并将其作为子视图添加到horizo​​ntalLayoutView实例。在initWithFrame:方法中,您可以自定义标记以查找所需的方式。您还可以覆盖drawRect:方法以进一步自定义其外观。

如果您在显示视图后动态添加标记,则可能需要在horizo​​ntalLayoutView实例上调用setNeedsLayout以使其正确调整。

希望这会让你开始朝着正确的方向前进。