Черная коробка вокруг drawRect форма Swift

Я пытаюсь изучить 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()

  }
}

введите описание изображения здесь

2 ответа

Решение

Вам нужно установить цвет фона вашего 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)

Вы можете установить цвет фона прямоугольника

class Background: UIView {
  override func drawRect(rect: CGRect) {
    UIColor.whiteColor().setFill()
    UIRectFill(rect)
    let path = UIBezierPath(ovalInRect: rect)
    UIColor.greenColor().setFill()
    path.fill()
  }
}
Другие вопросы по тегам