Настроить внешний вид Control View в xCode - PullRequest
0 голосов
/ 09 апреля 2020

Я создаю приложение для OSX, и единственное, что мне нужно, это удалить цвет фона окна моего приложения.

Если я запустите приложение, появится окно, которое может быть белым или черный (Аква, Темный Аква). enter image description here

Итак, я попытался перейти в файл 'ViewController.swift' и написал этот код

class ViewController: NSViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // tell the controller's view to use a CALayer as its backing store
        view.wantsLayer = true
        // change the background color of the layer
        view.layer?.backgroundColor = NSColor.red.cgColor
    }
}

Например, таким образом я поверните цвет фона на красный. НО это не то, что я хочу. Поэтому я попробовал другой способ (используя цвета RGBA)

class ViewController: NSViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // tell the controller's view to use a CALayer as its backing store
        view.wantsLayer = true
        // change the background color of the layer
        view.layer?.backgroundColor = CGColor(red: 255/255, green: 0/255, blue: 0/255, alpha: 1)
    }
}

И я увидел, что при уменьшении значения «альфа» уменьшается и непрозрачность. Итак, я попробовал с

CGColor(red: 255/255, green: 0/255, blue: 0/255, alpha: 0)

Красный цвет исчезает, но теперь вы можете видеть белый (или черный) цвет ViewController.

Я понял, что я просто создаю другой слой ( как ImageView) с цветом, но я не изменил фон ViewController. Есть ли способ, которым я могу сделать это? Или это просто невозможно?

1 Ответ

0 голосов
/ 09 апреля 2020

Я нашел решение. Просто go в файл "ViewController.swift" и затем напишите это

class ViewController: NSViewController {

    override func viewWillAppear() {
        super.viewWillAppear()
        view.window?.isOpaque = false
        view.window?.backgroundColor = NSColor(red: 1, green: 0.5, blue: 0.5, alpha: 0.0)
    }
}

Если вы хотите изменить цвет, просто исправьте красные, зеленые, синие значения. Альфа-значение определяет прозрачность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...