我有一个UIView,它继承自定义的UIView子类,其中drawRect
方法如下所示:
- (void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetStrokeColorWithColor(context, [[UIColor grayColor] CGColor]);
CGContextSetLineWidth(context, .85);
CGContextMoveToPoint(context, 10.0, 10.0);
CGContextAddLineToPoint(context, 310.0, 10.0);
CGContextDrawPath(context, kCGPathStroke);
}
我在UIView中使用它,其中视图尺寸为:320宽度和10高度。问题是..我画线的宽度只有.85,但是我不能将UIView的高度降低到10以下,如果没有线条消失,我怎样才能让线条在画面的边界上画出来。的UIView?
答案 0 :(得分:2)
"线宽"与此事无关。你了解笛卡尔坐标是如何工作的吗?看看你正在做什么。您正在从{10,10}
到{310,10}
画一条线。所以它的y坐标是10
。如果视图的高度小于10,那么它将低于视图的底部,您将无法看到该行。
因此,如果视图的高度小于10,请将10
设为较小的数字。您可以通过查看rect
- 它的用途来了解视图的高度。
一般来说,你可能根本不应该对这些数字进行硬编码;你应该根据传入的rect
值来计算它们。