首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UiView内部的UIView转换

UiView内部的UIView转换
EN

Stack Overflow用户
提问于 2010-12-07 00:17:08
回答 2查看 6.8K关注 0票数 2

这看起来像是一个初学者的问题,但由于我不能让它以预期的方式工作,我希望外面的某个地方能够为我指明正确的方向。

我试图实现的是视图内部视图的转换。我基本上想用另一个视图(控制器?!?)替换视图中的一个视图。的内容。

假设我有一本书的图像,我想在书中转换到另一页(例如从日历视图到详细的每日视图)。我只希望“book - content”(白色内容区域)包含在转换中,而不是整本书本身(整个屏幕)。

我可以使用相同的视图进行转换,没有问题,但我不会尝试用完全不同的视图来替换视图。将多个视图放在单独的视图控制器中,或者将所有视图放在一个视图控制器中都无关紧要,所以我还不能让它工作,但更糟糕的是,我的想法正在耗尽。所以帮帮我吧!如果有人愿意的话,请告诉我我做错了什么。建议也非常感谢。谢谢!!

汤姆

EN

回答 2

Stack Overflow用户

发布于 2010-12-07 00:24:13

查看UIView class中的exchangeSubviewsAtIndex:方法。只需将您想要转换的两个视图设置为另一个视图的子视图;然后在该父视图上调用此方法。

票数 1
EN

Stack Overflow用户

发布于 2010-12-07 01:08:47

假设您有一个包含A和B两个视图的视图控制器,它们具有相同的框架,因此它们在控制器的视图中占据相同的空间,以便于您显示一本书的一页。您想要显示一个并转换到另一个。

一种方法是将其中一个的alpha属性设置为1.0 (不透明),另一个设置为0.0 (透明)。因为这个属性可以被动画化,所以你可以使用beginAnimations:context/commitAnimations从一个到另一个淡入淡出,或者像docs建议的那样使用块方法之一。

另一种方法是在两个视图中设置帧变化的动画。设置视图,使其中一个视图有一个框架,使其显示在正确的位置,另一个视图具有相同的框架,但frame.origin.x等于frame.size.width -它将被隐藏,因为它在屏幕外或隐藏在其他视图后面。通过将视图A的frame.origin.x设置为-frame.size.width并将帧B的frame.origin.x设置为显示位置x原点来设置中的帧的动画。然后(无动画)将frame A的frame.origin.x再次设置为frame.origin.width,更新其内容,您就可以从右侧滑入另一个页面。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4368491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档