查看不动画

时间:2010-09-23 10:02:06

标签: iphone objective-c

我正在使用此方法尝试移动我的视图,但没有成功,这是我的MainViewController实现文件中的代码:

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];

CGRect rect = self.view.frame;
if (movedUp)
{
    NSLog(@"should move Up");
    rect.origin.y -= 50;
    rect.size.height += 300;
}
self.view.frame = rect ;

[UIView commitAnimations];

它没有错误输出并且打印出“应该向上移动”所以我知道该方法已正确执行。

这是IB层次结构(我试图移动突出显示的视图):

alt text

任何帮助都会非常感激,我的想法已经用完了......


好的,在这里编辑我已经把问题分离出来了,我现在正在使用这个代码:

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:.5];

self.containerView.frame = CGRectMake(0, 0, 250, 50);

[UIView commitAnimations];

如果我在“ - (void)viewDidLoad”中注入此代码,那么它工作正常。

但是如果我在同一个ViewController实现文件中的不同函数中使用相同的代码,它就不起作用了:

- (void)setViewMovedUp:(BOOL)movedUp {


        NSLog(@"test movedUp");
        [UIView beginAnimations:nil context:nil];
        [UIView setAnimationDuration:.5];

        self.containerView.frame = CGRectMake(0, 0, 250, 50);

        [UIView commitAnimations];



}

但是它仍然打印出“测试向上移动”,因此代码被执行,只是视图没有动画。

3 个答案:

答案 0 :(得分:2)

浏览此链接using the tableview as horizontal scroll and animating the views and also animating the text like marquee 检查方法 - (void)handleSwipeGesture:(UISwipeGestureRecognizer *)sender

答案 1 :(得分:1)

尝试移动另一个视图 - 而不是主视图 可能在移动主视图时出现问题。

如果有效,则再向视图层次结构中添加一个视图,该视图将包含所有其他视图,并将其连接到IBOutlet。

如果它不起作用,请评论我,我们会试着弄明白......

答案 2 :(得分:0)

使用

[self.view setFrame:rect];

而不是

self.view.frame = rect ;

我认为动画不会用于self.view