视图无缘无故地移动

时间:2011-08-17 16:55:14

标签: objective-c animation uiview subview

有点奇怪的。因此,我的iPhone应用程序在各种屏幕之间导航非常精细,并决定在所有页面之间添加动画。一旦添加,动画本身一切正常,但一旦我从主页移动,视图似乎在窗口内移动了一小段距离。在那之后,无论我移动到哪一页,视图都会略微向上移动。直到我导航到我的一个页面,它自动旋转以适应视频。当在这个页面上时,视图适合屏幕,当我导航时,视图翻转回到肖像,然后视图再次完全适用于所有其他屏幕,没有移动。所有这一切都发生在我为屏幕添加了动画代码之后,但我无法理解为什么会对此产生影响,除非我不小心改变了其他内容。

以下是我用于动画的代码:

WhatIsCTTView *whatIsCTTView = [[WhatIsCTTView alloc] initWithNibName:@"WhatIsCTTView" bundle:nil];
UIView *currentView = self.view;
UIView *theWindow = [currentView superview];
UIView *newView = whatIsCTTView.view; 
[currentView removeFromSuperview];
[theWindow addSubview:newView];
CATransition *animation = [CATransition animation];
[animation setDuration:0.5];
[animation setType:kCATransitionPush];
[animation setSubtype:kCATransitionFromRight];
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[[theWindow layer] addAnimation:animation forKey:@"SwitchToCTTView"];

非常感谢任何帮助,

谢谢,

马特

编辑:

我发现了如何解决这个问题,只需添加一行

即可

“newView.frame = CGRectMake(0,20,320,460);”

将新的子视图添加到屏幕后,确保将其放置在正确的位置。看到这个问题(http://stackoverflow.com/questions/3952483/iphone-addsubview-show-view-too-high-up-how-do-i-move-to-down)我得到了答案。

马特

0 个答案:

没有答案