objective-c - 如何删除或隐藏子图层?

标签 objective-c calayer

-(IBAction)displayinfo:(id)sender
{
    sublayer = [CALayer layer];

    if (appear == NO)
    {
        appear = YES;
        sublayer.contents=(id)[UIImage imageNamed:@"infoPalette.png"].CGImage;
        sublayer.frame= CGRectMake(300,200,350,250);
        [self.view.layer addSublayer:sublayer];
    }
    else
    {
        [sublayer removeFromSuperlayer];
    }
}

这允许图层出现,但我无法在单击同一按钮时将其删除或隐藏。

最佳答案

用这个替换你现有的代码

-(IBAction)displayinfo:(id)sender
{

    if ( appear == NO)
    {
         sublayer = [CALayer layer];
         appear = YES;
         sublayer.contents=(id)[UIImage imageNamed:@"infoPalette.png"].CGImage;
         sublayer.frame= CGRectMake(300,200,350,250);
         [self.view.layer addSublayer:sublayer];
    }
    else
    {
        [sublayer removeFromSuperlayer];
    }
}

关于objective-c - 如何删除或隐藏子图层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20349132/

相关文章:

objective-c - NSProgressIndicator 在循环结束之前不会更新

cocoa - 如何对齐图像 CALayer 并调整其大小?

objective-c - 使用 mask 在 CALayer 上遮挡动画

objective-c - 为 View 应用阴影使我的文字模糊

swift - CALayer 什么时候有 presentationLayer?

objective-c - NSDictionary 如何处理 NIL 对象?

objective-c - Assets 加载后立即定位到 AVPlayer 中的某个位置

ios - 在重用的原型(prototype)单元格中多次应用渐变蒙版

ios - 在转发类对象 'cornerRadius' 中找不到属性 'CALayer'

ios - 来自 UIAlertController 的键盘延迟关闭