场合
我有两个观点:
绘制功能
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 3.0);
CGContextSetFillColorWithColor(context, self.targetColor.CGColor);
CGContextAddRect(context, CGRectStandardize(self.target));
CGContextFillPath(context);
因此,这个DrawRect函数只是在某个位置的子视图坐标系中绘制一个矩形(当在子视图中显示时,它可能在屏幕外)
在我的View Controller中,我有两个Outlets。 View Controller将定期调用包含我的数据模型的对象的函数。该对象将返回一个CGRect,它定义了我想要显示的区域。 (在子视图坐标系中)
预期行为
所以我不关心它是如何完成的,只要它足够有效,可以在20赫兹调用。但我想要的是,只有那个区域被绘制和缩放以适应超级视图。所以它的翻译和规模(我当然不是专家)。这个过程将一遍又一遍地重复。
到目前为止我尝试了什么
我设法使用CGImageRef等工作(因此数据模型按预期工作)但不能使用自定义视图。 更改超级视图边界将进行翻译,但我没有设法扩展工作。 我希望有一种方法可以通过更改一些视图边界或框架并定义一些自动调整大小行为来解决这个问题,但我无法找到方法。 另一件事可能是定义一个构建CGAffineTransformMatrix的函数,然后将其应用于子视图。但正如我所说,这些东西对我来说是新的,并认为只需几分钟的时间就可以让我指出正确的方向。
这是一个给你们炫耀一些技巧的绝佳机会;)