【发布时间】:2012-06-03 18:34:58
【问题描述】:
所以我有一个 uiview,它使用一个框架初始化,该框架具有为用户提供的高度和宽度,我希望用户能够在此框架内绘图,但是当用户按下按钮时,我想要view 以切断多余的浪费空间,使框架仅与用户绘制的一样大。我试图做这样的事情
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 中的截断。
我想要做的是移动绘图/贝塞尔路径,使其位于框架的中间。使红色区域包围蓝色圆圈。
【问题讨论】:
标签: xcode uiview drawrect bounding-box