1

我的应用程序中有一个滚动视图。如果我单击一个页面上的按钮,则会添加一个子视图。当用户滚动视图时,我想删除这个子视图。这个函数被称为:

-(void) DisableViews {
    [Annimation removeFromSuperview];
    NSLog(@"scroll");
}

我多次获得 NSLog,但当我回到页面时,视图也是子视图。

我认为这会发生,因为此时带有子视图的视图不是当前视图,所以我无法删除子视图。

是否有可能从子视图的任何视图中删除子视图?

编辑:ViewController.h

@interface ViewController : UIViewController {

//...

    UIView *Annimation;



}

@property (nonatomic,retain) UIView *Annimation;

执行:

 ViewController.m

 #import "ViewController.h"
 #import "AppDelegate.h"




 @implementation ViewController

 @synthesize Annimation;


 //...

 - (void) Bild1ButtonKlickt{
     Annimation = [[UIView alloc]initWithFrame:CGRectMake(0.0, 0.0, 320.0, 480.0)];
     Annimation.backgroundColor = [UIColor blackColor];
     [self.view addSubview:Annimation]; 
}
4

2 回答 2

1

最有可能的是“动画”(我假设它是一个 ivar)nil,因此当您尝试删除它时什么也没有发生。

(注意,不要以这种方式直接访问您的 ivars。应该调用您的属性animationView(以明确它是视图而不是NSAnimation,并且您应该通过 访问它self.animationView。此外,方法应始终具有前导小写。ObjC对方法和属性命名非常敏感。正确的命名对运行时很重要;这不仅仅是风格。)

于 2013-03-09T19:01:25.073 回答
0

按照要求回答:那是该滚动视图中唯一的子视图吗?无论如何,如何从滚动视图中删除子视图的答案之一?应该管用。

现在上面页面中的哪个答案解决了它?

于 2013-03-15T12:25:27.513 回答