Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone-关于drawRect的问题_Iphone - Fatal编程技术网

iPhone-关于drawRect的问题

iPhone-关于drawRect的问题,iphone,Iphone,假设UIView是UIImageView的子类,并为其指定一个背景图像,如中所示 UIImageView *myImageView = [[UIImageView alloc] initWithImage: //... bla bla 然后我实现了一个drawRect方法,并使用它在图像上绘制东西 我的问题是: 这些东西会被画在地图上吗 图像本身或某种“层”中的图像 完全独立 如果后者是真的,我该怎么办 访问这个“层” 谢谢如果覆盖drawRect,则内容将在图像本身上绘制。每个UIImage

假设UIView是UIImageView的子类,并为其指定一个背景图像,如中所示

UIImageView *myImageView = [[UIImageView alloc] initWithImage: //... bla bla
然后我实现了一个drawRect方法,并使用它在图像上绘制东西

我的问题是:

  • 这些东西会被画在地图上吗 图像本身或某种“层”中的图像 完全独立
  • 如果后者是真的,我该怎么办 访问这个“层”

  • 谢谢

    如果覆盖drawRect,则内容将在图像本身上绘制。每个
    UIImage
    都有一个
    CALayer
    作为后盾,所以你真的把所有东西都用到了上面。使用

    [image layer];
    

    如果覆盖drawRect,则会在图像本身上绘制内容。每个
    UIImage
    都有一个
    CALayer
    作为后盾,所以你真的把所有东西都用到了上面。使用

    [image layer];
    

    如果需要自定义图形,则应将UIView子类化,而不是UIImageView子类

    从UIImageView类引用

    UIImageView类经过优化,可以将其图像绘制到显示器上。UIImageView不会调用drawRect:子类。如果子类需要自定义图形代码,建议使用UIView作为基类


    如果需要自定义图形,则应将UIView子类化,而不是UIImageView子类

    从UIImageView类引用

    UIImageView类经过优化,可以将其图像绘制到显示器上。UIImageView不会调用drawRect:子类。如果子类需要自定义图形代码,建议使用UIView作为基类


    嗨,你说的“层”是指图像吗?谢谢。正如我所怀疑的那样。图像本身被修改。但我为什么要打电话给[super drawRect]?这个方法不是在分配imageView时自动调用的吗?哎呀,我的错,刚刚删除了那个部分。我忘了drawRect在默认情况下什么都不做。很抱歉。。。希望这能回答你的问题!嗨,你说的“层”是指图像吗?谢谢。正如我所怀疑的那样。图像本身被修改。但我为什么要打电话给[super drawRect]?这个方法不是在分配imageView时自动调用的吗?哎呀,我的错,刚刚删除了那个部分。我忘了drawRect在默认情况下什么都不做。很抱歉。。。希望这能回答你的问题!