AppDelegate问题(警告:'AppDelegate'可能无法响应...)

时间:2010-09-08 07:58:19

标签: iphone objective-c

好的,这是交易,我继续收到这个警告:

'AppDelegate'可能无法响应'-setViewMovedUp:'

这是我的实施文件:

- (IBAction)viewUp {

    AppDelegate *moveUp = (AppDelegate *)[[UIApplication sharedApplication] delegate];
    [moveUp setViewMovedUp:YES]; //move Shot View
    [self setViewMovedUp:YES];

}

这是我的AppDelegate实施文件:

- (void)setViewMovedUp:(BOOL)movedUp {

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

    CGRect rect = shotView.frame;
    if (movedUp)
    {
        rect.size.height -= 200;
    }
    shotView.frame = rect ;

    CGRect rect2 = pageControl.frame;
    if (movedUp)
    {
        rect2.size.height -= 395;
    }
    pageControl.frame = rect2 ; 

    [UIView commitAnimations];


}

我认为我得到了一个警告,因为AppDelegate不是一个视图,但是在我调用视图的方法中,有没有一种方法可以编写不同的代码并且更好地让这个恼人的警告消失? (该方法仍然适用...)

谢谢!

2 个答案:

答案 0 :(得分:1)

如果在app delegate头文件中声明方法,警告应该消失:

//AppDelegate.h
...
- (void)setViewMovedUp:(BOOL)movedUp;

答案 1 :(得分:1)

您需要在接口(.h)文件中声明该方法。把它放在你的AppDelegate.h中:

- (void)setViewMovedUp:(BOOL)movedUp;

应该这样做。