目标 C:在一段文本中实现多个操作的最简单方法(例如注释)
我一直在尝试在我的应用程序(UItableView)中实现评论引擎,但一直面临挑战
1)如何在表格单元格中添加评论,格式为“用户名”+“评论文本”,用户可以单击上的用户名和相应的用户配置文件将出现。注释文本只是单元格中的静态数据
2)如何动态计算所有注释的高度,从而最终确定整个单元格的高度?
我发现 Instagram 的评论引擎正是我想要的(见下文)
谁能告诉我如何做我可以实现像Instagram一样的评论引擎吗?我尝试对 UIControl 进行子类化并添加 UILabel (作为其属性)。但这种做法似乎有点混乱且不灵活。因此,任何对此的建议将不胜感激。
I have been trying to implement a comment engine in my app (UItableView) but have been facing challenges
1) How can I add the comment in the table cell with the format of "user name" + "comment text" whereby the user can click on the username and the corresponding user profile will appear. The comment text will just be a static data in the cell
2) How can I dynamically calculate the height of all the comments which will eventually lead to the determination the entire cell height?
I see that Instagram's comment engine is what I have in mind (see below)
Can anyone advise me on how I can implement the comment engine like Instagram? I have tried to subclass a UIControl and add a UILabel (as a property to it). But this approach seems a little confusing and inflexible. So any advise on this will be greatly appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您遵守 MIT 许可,则可以使用我的 OHAttributedLabel 类。
这将允许您使用不同样式的 NSAttributedStrings 来表示标签的单词(例如,名称为粗体和蓝色,注释为黑色),并在文本上添加超链接。
您还可以使用正确配置的实例(默认字体、大小等)及其
sizeThatFits:
方法来计算文本所需的大小,并使用返回的大小的高度来相应地计算单元格高度。[编辑] 正如 @Simon Lee 所指出的,请注意,这使用了 CoreText,它仅在 iPhone 上的 iOS 3.2 或 iPad 上的 iOS 4.0 中可用。
If you comply to the MIT licence, you can use my OHAttributedLabel class.
This will allow you to use NSAttributedStrings with different styles for the words of the label (name in bold and blue, comment in black, for example) and add hyperlinks on the text too.
You can also use a properly configured instance (default font, size, etc) and its
sizeThatFits:
method to compute the size needed for the text and use the height of the returned size to compute your cell height accordingly.[EDIT] As pointed by @Simon Lee, be warned that this uses CoreText, which is only available in iOS 3.2 for iPhone or iOS 4.0 on iPad.