【发布时间】:2011-08-29 21:27:13
【问题描述】:
我有一个 UIView,其中包含一个名为 menuView 的子视图,由 MenuViewController 管理。
我写了那个代码:
- (void) viewDidLoad
{
[self.menuView setFrame:CGRectOffset(self.menuView.frame, 0.0, self.menuView.frame.size.height)];
[super viewDidLoad];
}
- (void) viewDidAppear:(BOOL)animated
{
[UIView beginAnimations:@"SomeAnimation" context:nil];
[UIView setAnimationDuration:2.0];
[UIView setAnimationDelegate:self];
[UIView setAnimationTransition:UIViewAnimationTransitionNone forView:self.menuView cache:YES];
[self.menuView setFrame:CGRectOffset(self.menuView.frame, 0.0, -self.menuView.frame.size.height)];
[UIView commitAnimations];
[super viewDidAppear:animated]; // tried at begining too
}
但是加载后,看不到动画...我也尝试了 viewWillAppear 没有任何变化。
它在 MenuViewController 之外被调用:
- (IBAction) showMenu
{
MenuViewController* menuController = [[MenuViewController alloc] initWithNibName:@"Menu" bundle:nil];];
[self.view addSubview:menuController.view];
// [menuController release]; for try
}
有什么问题?
附: :我想要做的是当显示视图时,该视图的某些部分(menuView)移动。该视图(部分透明)旨在覆盖另一个 ViewController 拥有的父视图。
【问题讨论】:
标签: iphone cocoa-touch animation uiview