我正在使用核心图库在我的iPhone应用程序上绘制条形图,当我尝试向图表添加标签或其他视图时出现问题,
实际上我添加的视图是垂直反转like this ........
代码就像
UILabel *lbl= [[UILabel alloc] initWithFrame:CGRectMake(250, 90, 70, 25)];
[lbl setBackgroundColor:[UIColor redColor]];
[lbl setText:@"HELLO"];
[self.view addSubview:lbl];
[lbl release];
我不敢玩核心图库。
还有其他方法可以做正确的事情吗?我应该在添加视图之前进行转换吗?
如果这是解决方案,那么这将是昂贵的,因为我必须添加多个子视图。
希望每个人都明白我的问题。
答案 0 :(得分:12)
嗯,看起来核心情节视图是使用CGAffineTransform反转的。您的视图可能是从其superview继承反转。 这实际上很简单,
lbl.transform = CGAffineTransformMakeScale(1,-1);
应该做的伎俩。 如果你不得不多次这样做,或许用类似的东西来简化它,
CGAffineTransform verticalFlip = CGAffineTransformMakeScale(1,-1);
lbl.transform = verticalFlip;
otherLbl.transform = verticalFlip;
等...
x轴翻转为CGAffineTransformMakeScale(-1,1);
答案 1 :(得分:6)
为避免猜测实际的变换值,您可以尝试使用CGAffineTransformInvert
函数:
lbl.transform = CGAffineTransformInvert(self.view.transform);
答案 2 :(得分:0)
如果我们要转换为3D模型的图层,则需要按以下方式进行处理,
迅速5:
// To inverse the graph vertically
annotationGraph.transform = CATransform3DMakeAffineTransform(CGAffineTransform(scaleX: 1, y: -1))
否则,您将收到此信息,
无法将类型“ CGAffineTransform”的值分配给类型“ CATransform3D”