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 可扩展视图位于另一个视图之上的主要内容,如果未能解决你的问题,请参考以下文章