快速绘制矩形形状周围的黑框

Posted

技术标签:

【中文标题】快速绘制矩形形状周围的黑框【英文标题】:black box around drawRect shape swift 【发布时间】:2015-12-18 18:48:41 【问题描述】:

我正在尝试学习 Core Graphics,但在使用 drawRect 时遇到了这个问题。 (下图)

我创建了一个继承自 UIView 的类,该类具有 drawRect 代码。在我的 viewcontroller 类中,我设置了尺寸并添加了子视图。

结果是我的形状周围有一个黑框的图像。我该如何解决这个问题?

class myViewController: UIViewController 

var bg = Background()

override func viewDidLoad() 
    super.viewDidLoad()

    bg = Background(frame: CGRectMake(50, 50, 50, 50))
    self.view.addSubview(bg)
    self.view.sendSubviewToBack(bg)



class Background: UIView 

override func drawRect(rect: CGRect) 
    // Drawing code

    var path = UIBezierPath(ovalInRect: rect)
    UIColor.greenColor().setFill()
    path.fill()

  

【问题讨论】:

【参考方案1】:

您需要设置bg 元素的背景颜色,只需添加这一行bg.backgroundColor = UIColor.clearColor()。因此,在您的 viewDidLoad 方法中,将代码更新为:

bg = Background(frame: CGRectMake(50, 50, 50, 50))
bg.backgroundColor = UIColor.clearColor()
self.view.addSubview(bg)
self.view.sendSubviewToBack(bg)

【讨论】:

【参考方案2】:

可以设置矩形的背景颜色

class Background: UIView 
  override func drawRect(rect: CGRect) 
    UIColor.whiteColor().setFill()
    UIRectFill(rect)
    let path = UIBezierPath(ovalInRect: rect)
    UIColor.greenColor().setFill()
    path.fill()
  

【讨论】:

以上是关于快速绘制矩形形状周围的黑框的主要内容,如果未能解决你的问题,请参考以下文章

从四个点绘制填充形状

覆盖图像周围的黑框(GD 库)

Java - 从图像周围的边框创建形状

如何在 PyQt5 中通过拖放来绘制矩形并调整其形状

在鼠标位置绘制矩形和形状渲染矩形

使用xml android在雅虎摘要新闻应用程序中绘制倾斜的矩形上边缘形状