【问题标题】:What's the best layout for a scrollable iPhone "detail view" with variable content?具有可变内容的可滚动 iPhone“详细视图”的最佳布局是什么?
【发布时间】:2010-10-09 05:57:29
【问题描述】:
我正在构建一个基于导航控制器的 iPhone 应用程序,我很好奇如何为我的应用程序构建详细视图。使我的工作复杂化的部分是:我应该使用哪些 UI 元素/层次结构来创建高度可变但可滚动的详细视图?
我的目标的一个很好的例子是像mobile App Store detail view 这样的安排。标题、描述、屏幕截图等之间的水平划分让我相信这是一个变相的表格视图,但这只是一个猜测。
目前,我使用 UIScrollView 作为我的详细视图,但由于我无法确定传入内容的确切长度,我的描述视图最终会出现未使用的空间或被截断的文本。是否有一些元素最适合以“块状”格式(如示例)显示此可变高度内容,同时仍保持整体视图滚动能力?
提前感谢您的帮助!
【问题讨论】:
标签:
iphone
objective-c
cocoa
cocoa-touch
xcode
【解决方案1】:
我不认为 App Store 详细视图是 UITableView。事实上,我很确定它是 UIScrollView 的子类。
要确定内容的大小,可以使用 NSString 的 sizeWithFont 方法。
【解决方案2】:
如果您希望能够轻松地格式化复杂的内容,您可以使用 UIWebView。我基本上做的是创建一个 HTML 模板并将其添加为资源。在运行时,我加载这个 HTML 文档的内容并进行字符串替换以添加我想要的内容。在 HTML 中,我放置占位符,例如
<div><!-- ARTICLE_TITLE --></div>
【解决方案3】:
有点晚了,但仍然相关:App Store 几周前崩溃了,App Store 的“精选”标签很明显是没有应用 CSS 的 HTML。所以,它实际上是一个 UIWebView,或者以某种方式显示的网页内容。
iTunes 应用程序的触地行为,虽然看起来非常相似,但表现不同,以更原生的方式。我不相信这个应用程序是以相同的方式实现的。