所以我有一个uiview,它是用具有为用户存在的高度和宽度的框架初始化的,我希望用户能够在此框架内绘制,但是当用户按下一个按钮,我想要视图切断额外的浪费空间,以便框架只与用户绘制的一样大。我试图做这样的事情关于裁剪/裁剪视图
CGRect boundbox = CGPathGetBoundingBox([myPath CGPath]);
boundbox.origin.x = self.frame.origin.x;
boundbox.origin.y = self.frame.origin.y;
self.frame = boundbox;
然而,这并不会删除多余的浪费的空间,它只是调整大小的观点,从而使绘制的内容看起来比以前小。我想要做的就是删除 那个“空白”,我在想是否可以放大uiview的内容,但我不确定。
为了澄清我的意思:
红色边框面积/框,用户可以借鉴,在中间的文本是一个图,当用户按下一个按钮,我想要的框架仅在图2
包围绘图像现在可以说,我有以下情形,我已经画在屏幕中间的圆。
当我再按下按钮,刻度保持不变,但圈内还是在同样的位置,但现在我们已经改变了绘图区,所以圆/绘图看起来像它切断像图4
我想做的事就是这样,它定位在框架的中间移动绘图/贝塞尔路径。这样红色区域围绕蓝色圆圈。
不知道该怎么做,我发现如果我在上面写的代码之后立即调用setneedsdisplay,我会得到正确比例的绘图,但它的绘图上下文会从右侧切下,这是因为框架的大小调整。我需要做的是移动绘图,使它位于新框架的中心,不确定我该怎么做:S – Krewie
您试图完成的绘图可能有助于获得良好的答案。你谈到击中一个会导致你的行为发生的按钮。你想要做什么的全貌? – trumpetlicks
我用一些数字更新了这个问题 – Krewie