从 UIViewController 画一条线

Posted

技术标签:

【中文标题】从 UIViewController 画一条线【英文标题】:drawing a line from a UIViewController 【发布时间】:2012-02-22 20:35:53 【问题描述】:

我有一个 UIViewController,它有一个 UIImageView。我想在 UIImageView 上画一条线。我知道为了做到这一点,我必须覆盖 UIView 中的 drawRect。有没有替代方案?

【问题讨论】:

我在下面回答了,但你为什么不想覆盖 drawRect? 因为只有一个带有 drawRect 的 UIImage 类会很烦人? 【参考方案1】:

类似这样的:

CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);
CGContextSetLineWidth(context, 1.0f);
CGContextMoveToPoint(context, 0, 0); 
CGContextAddLineToPoint(context, view.frame.size.width, view.frame.size.height);
CGContextStrokePath(context);

【讨论】:

@adit,我不知道你的 imageview 名称是什么。这只是一个常见的例子。【参考方案2】:

虽然覆盖 drawRect 可能是最好的解决方案,但总有替代方案。

如果线条是水平的或垂直的,你可以创建一个带有你需要的线条框架的 UIView 并设置它的背景颜色。

您可以叠加线条的图像,根据需要旋转/调整大小。

【讨论】:

以上是关于从 UIViewController 画一条线的主要内容,如果未能解决你的问题,请参考以下文章

从 Activity 用画布画一条线

使用strokeColor,从中心到圆周画一条线

从两个按钮之间的手势画一条线

在 QML 的圆形路径中画一条线?

如何在HTML中画一条线

twoway怎么画一条线