繁体   English   中英

删除子视图

[英]removing a subview

我查看了这里,发现了一些示例,但没有任何效果,因此在这里进行了...我有一个子视图,该子视图已开始且运行良好,相机拍摄了一张照片,然后在右下角显示了一个缩略图,单击该按钮时,子视图已发布,但无论如何尝试,都无法摆脱该子视图!

码:

    -(void)onSingleTap:(UITouch*)touch {
NSLog(@"onSingleTap");
    UIImageView *eyes = [[[UIImageView alloc] initWithImage:[UIImage     imageNamed:@"binocs.png"]] autorelease];
eyes.tag = EYES_TAG;
    [self.overlayView addSubview:eyes];
    [camera takePicture];
    }

然后执行缩略图操作:

    - (void)thumbnailTapped:(id)sender {
    self.view.alpha = 99.0f;    
    UIButton *binocsButton = (UIButton*)[self.view viewWithTag:BINOCS_BUTTON_TAG];
binocsButton.hidden = YES;

    }

因此,我的subView称为眼睛,我只需要在点击缩略图的操作下清除该视图即可。 任何想法都太棒了!

我不确定我是否会完全遵循,但是您是否不只是要将其添加到thumbnailTapped:的底部::

[[self.view viewWithTag:EYES_TAG] removeFromSuperview];

顺便说一句,与其使用标记,不如将其存储为对视图控制器类的ivar的引用,这可能是更好的选择。 我将其添加到您的属性定义中:

@property (nonatomic, retain) UIImageView *eyes;
@property (nonatomic, retain) UIButton *binocsButton;

然后综合它们,并在创建这些对象时将其分配给属性,然后以后可以更轻松地访问它们。 使用我过去发现的标签会很烦人,就像视图位于复杂视图层次结构的底部一样,您无法轻松访问它。 如果这样做,请记住还要在dealloc释放它们(除非您使用的是ARC)。

暂无
暂无

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

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