调整UIView的大小,以便我绘制的任何内容都可见 - 目标C.

时间:2013-05-28 10:03:13

标签: ios objective-c ipad uiview

我有UIView。我正在UIView程序中画一条线。但是当这条线超出UIView时,线路的一部分就会被看不见了。如何调整UIView的大小以便在drawRect方法中绘制的内容是否可见?

3 个答案:

答案 0 :(得分:1)

您可以更改视图。如果你的线是水平的,那么给宽度看,否则增加视图的高度。

  view.frame = CGRectMake(view.frame.origine.x, view.frame.origine.y,view.frame.size.width,lengthOfLine ); 

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

根据边界框,更新UIView的{​​{1}}属性(如Durgaprasad suggested)。这也调整了基础bounds的大小,这也为其底层的核心图形渲染上下文提供了更大的位图。

除了linking to some very generic discussion on quadratic Beziers之外,除了了解你的曲线之外,很难提供帮助。

您可能希望使用CALayer的最低限度实施更新您的问题,以便有人重现您的问题。