相关疑难解决方法(0)

在CALayer中添加UIImage

我必须添加一个UIImageView作为MapView的子视图.为此,我在MapView上创建了一个图层.在这一层,我想放置我的图像,但我得到一个白色的矩形,没有别的.我的图片不可见.

这是代码:

- (void)viewDidLoad
{
    //......

    CALayer *layer = [CALayer layer];
    layer.backgroundColor = [[UIColor whiteColor] CGColor];

    if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
    {
        layer.bounds = CGRectMake(self.mapView.bounds.origin.x,
                                  self.mapView.bounds.origin.y, 80, 300);
    }
    else
    {
        layer.bounds = CGRectMake(self.mapView.frame.origin.x,
                                  self.mapView.frame.origin.y, 150, 700);
    }

    layer.contents = (id)[UIImage imageNamed:@"myImage.png"];
    //the name is correct but  in the output the image is not visible

    [[self.mapView layer] addSublayer:layer];
    [layer setNeedsDisplay];
}
Run Code Online (Sandbox Code Playgroud)

subview calayer uiimageview uiimage ios

40
推荐指数
3
解决办法
4万
查看次数

使用普通CALayer显示图像或UIImage

我经常读到,在使用大量图像时,使用a CALayer而不是a UIImageView是性能提升.这是有道理的,因为UIImageView在内存中导致3个图像副本,这是Core Animation所需要的.但在我的情况下,我不使用核心动画.

如何将UIImage(或其图像数据)分配给a CALayer然后显示?

iphone performance core-animation uiimage ios

25
推荐指数
2
解决办法
3万
查看次数

将图像添加到 CAShapeLayer Swift 3

我正在尝试在每个切片的中心绘制一个带有段数组和图像的饼图,我已经绘制了饼图,但无法向 cashapelayer 添加图像。我参考了以下Swift帖子:添加图像到 CAShapeLayer,但它没有解决我的问题。

这是我尝试过的。

override func draw(_ rect: CGRect) {
        //let context = UIGraphicsGetCurrentContext()
        let radius = min(frame.size.width,frame.size.height) * 0.5;
        let viewCenter = CGPoint(x: frame.size.width * 0.5, y: frame.size.height * 0.5)
        let valueCount = segments.reduce(0){ $0 + $1.value}
        var startAngle = -CGFloat(M_PI / 2)

        for segment in segments {
           let endAngle = startAngle + CGFloat(M_PI * 2) * (segment.value)/valueCount

            /*context?.move(to: CGPoint(x: viewCenter.x, y: viewCenter.y))
            context?.setFillColor(segment.color.cgColor)
            context?.setStrokeColor(UIColor.black.cgColor)
            context?.setLineWidth(3.0)
            context?.addArc(center: viewCenter, radius: radius, startAngle: startAngle, endAngle: endAngle, …
Run Code Online (Sandbox Code Playgroud)

calayer ios swift3

5
推荐指数
1
解决办法
7669
查看次数