我有一个UIView
. 我在UIView
程序内画了一条线。但是当线超出 时,线的伸出UIView
部分是不可见的。如何调整大小UIView
以便我在drawRect
方法内绘制的任何内容都是可见的?
问问题
189 次
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 回答