[英]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.