0

我有一个UIView. 我在UIView程序内画了一条线。但是当线超出 时,线的伸出UIView部分是不可见的。如何调整大小UIView以便我在drawRect方法内绘制的任何内容都是可见的?

4

3 回答 3

1

您可以更改视图框架。如果您的线是水平的,则为视图提供宽度,否则增加视图的高度。

  view.frame = CGRectMake(view.frame.origine.x, view.frame.origine.y,view.frame.size.width,lengthOfLine ); 
于 2013-05-28T10:10:04.787 回答
0

您在评论中提到您实际上是在绘制曲线。据我所知,您需要自己计算曲线的边界框。

根据边界框,更新UIView'bounds属性(如 Durgaprasad建议的那样)。这也调整了底层的大小CALayer,这也为其底层的 Core Graphics 渲染上下文提供了更大的位图。

在不了解您的曲线的情况下,除了链接到关于二次贝塞尔曲线的一些非常通用的讨论之外,很难提供帮助。

您可能希望通过最少的实现来更新您的问题,-drawRect:这将允许某人重现您的问题。

于 2013-05-28T10:31:49.500 回答
0

如果您正在绘制的曲线是子视图,那么您可以使用sizeToFit方法。这将使视图的框架包围曲线(以及所有子视图,就此而言)。然后您可以重新定位和缩放视图的框架以使其适合窗口。

于 2013-05-28T10:25:51.577 回答