UIView 改变方向后消失
Posted
技术标签:
【中文标题】UIView 改变方向后消失【英文标题】:UIView disappears after orientation change 【发布时间】:2011-08-31 09:49:08 【问题描述】:我有当前的问题: 从 NSObject 我正在创建/加载和动画视图:
[UIView beginAnimations:@"slidein" context:nil];
[UIView setAnimationDelegate:self];
[UIView setAnimationDuration:0.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)];
[content.view setAlpha:1.0];
for (UIView *view in content.view.subviews)
[view setAlpha:1];
[content.view setFrame:CGRectMake(0, 0, self.contentEnclosure.size.width, self.contentEnclosure.size.height)];
[UIView commitAnimations];
我的问题是,当方向改变时,我的动画视图消失了。如果我让我的视图再次出现,方向设置(帧大小)是正确的,所以我猜,调整大小的蒙版应用正确,我只是不明白需要做什么,我的视图不会消失.
【问题讨论】:
在orientation方法中为view分配frame时,检查view是否存在。有同样的问题,只有在出现时才分配值解决了它! 我最终解决了它,只是忘记更新我的帖子。确实,每次更改方向时,都需要确保最前面视图的每个子视图都是可见的,然后才进行更改。 Exquinoxe 你能详细说明你是如何解决的吗?在 iPad 上更改方向后,我的 UISearchBar 消失了 【参考方案1】:使用 NSLog 并在定向后分别检查新的self.view.frame.origin.x
和y
。
然后根据需要设置框架。
另外,检查调整蒙版的大小。尝试使用UIViewAutoresizingFlexibleRightMargin
/LeftMargin
来满足您的要求。
【讨论】:
以上是关于UIView 改变方向后消失的主要内容,如果未能解决你的问题,请参考以下文章