这看起来像是一个初学者的问题,但由于我不能让它以预期的方式工作,我希望外面的某个地方能够为我指明正确的方向。
我试图实现的是视图内部视图的转换。我基本上想用另一个视图(控制器?!?)替换视图中的一个视图。的内容。
假设我有一本书的图像,我想在书中转换到另一页(例如从日历视图到详细的每日视图)。我只希望“book - content”(白色内容区域)包含在转换中,而不是整本书本身(整个屏幕)。
我可以使用相同的视图进行转换,没有问题,但我不会尝试用完全不同的视图来替换视图。将多个视图放在单独的视图控制器中,或者将所有视图放在一个视图控制器中都无关紧要,所以我还不能让它工作,但更糟糕的是,我的想法正在耗尽。所以帮帮我吧!如果有人愿意的话,请告诉我我做错了什么。建议也非常感谢。谢谢!!
汤姆
发布于 2010-12-07 00:24:13
查看UIView class中的exchangeSubviewsAtIndex:方法。只需将您想要转换的两个视图设置为另一个视图的子视图;然后在该父视图上调用此方法。
发布于 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,更新其内容,您就可以从右侧滑入另一个页面。
https://stackoverflow.com/questions/4368491
复制相似问题