繁体   English   中英

从不存在的视图中删除子视图

[英]Remove subview from non present view

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

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

我多次获得NSLog,但是当我返回页面时,该视图也是Subview。

我认为这将会发生,因为带有子视图的视图目前不在当前视图中,因此我无法删除该子视图。

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

编辑: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]; 
}

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

(请注意,请勿以这种方式直接访问您的ivars。您的属性应称为animationView (为了清楚NSAnimation ,这是一个视图而不是NSAnimation ,您应该通过self.animationView访问。此外,方法应始终具有领先的小写字母。ObjC对方法和属性的命名非常敏感。正确的命名对于运行时很重要;这不只是样式。

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

现在,以上页面中的哪个答案已解决?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM