iPhone 可扩展视图位于另一个视图之上

Posted

技术标签:

【中文标题】iPhone 可扩展视图位于另一个视图之上【英文标题】:iPhone expandable view on top of another view 【发布时间】:2010-06-22 21:13:55 【问题描述】:

我正在创建一个底部有标签栏而顶部没有状态或导航栏的应用。我想在顶部创建一个 320x50 的预告片视图。它将出现在某些选项卡的主视图顶部。类似于广告可能出现在视图上的方式。有时会隐藏预告视图。当用户单击预告片中的按钮时,我希望它向下扩展以接管包括标签栏在内的视图。

那里有任何示例或建议吗?

最好, 豪伊

【问题讨论】:

【参考方案1】:

好吧,除非我错过了什么,否则这对我来说并不太复杂。

您应该简单地为这个继承自 UIViewController 的“预告视图”创建一个类,如果需要,使用一个 nib。 为预告片按钮创建回调方法,扩展预告片的大小(通过更改 view.frame),或在需要时将其从超级视图中删除。

然后当你想显示一个预告片时,实例化一个,填充它的数据,然后简单地将它的视图添加到你当前视图的子视图中。

TL;DR :我认为预告视图应该是 UIViewController,其视图已添加到选项卡的子视图中。

【讨论】:

谢谢,我已经完成了那部分。这是第二个视图,即在与预告片交互后占据整个屏幕的视图。由于某种原因,无法与该视图上的按钮进行交互。我已经尝试将视图发送到后面并将其他视图带到前面。似乎没有任何效果。 您以哪种方式创建和添加第二个视图?如果需要,使用代码编辑您的第一篇文章。【参考方案2】:

我想通了。可能与在 init 方法而不是 load view 方法中实例化占据整个屏幕的视图(我称之为 Main)有关。此外,我没有使用单独的预告片和主视图控制器,而是创建了一个视图控制器并使用 uiviews 来保存预告片区域和主区域。这样我就可以隐藏和显示 50 像素高的预告片,并分别隐藏和显示 y 为 50 且高度为 381 的主要区域(480 - 标签栏高度为 49 - 预告片高度为 50)。

现在我可以点击预告片中的一个按钮,主区域将向下展开,占据整个屏幕(标签栏除外)。当我点击关闭时,主要区域将在屏幕顶部的预告视图后面收缩。

【讨论】:

以上是关于iPhone 可扩展视图位于另一个视图之上的主要内容,如果未能解决你的问题,请参考以下文章

iphone中的可扩展tableView

iphone中的可扩展tableView

UiCollectionView 和可扩展视图

可扩展列表视图回收问题

显示字段的可扩展视图

如何在 ios 中创建可扩展的表格视图?