我有UIView
。我正在UIView
程序中画一条线。但是当这条线超出UIView
时,线路的一部分就会被看不见了。如何调整UIView
的大小以便在drawRect
方法中绘制的内容是否可见?
答案 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
的最低限度实施更新您的问题,以便有人重现您的问题。