MacOS:自定义NSView不会显示子视图

时间:2017-11-26 12:15:56

标签: swift macos subview addsubview

我有一个视图控制器并在其视图中添加了一个子视图。 Subview的类也应该有一些Subviews等。这是我的自定义类的代码:

import Foundation
import Cocoa

class PercentageShower: NSView {

    let percentageBar = NSView()

    override init(frame frameRect: NSRect) {
        super.init(frame: frameRect)
        self.wantsLayer = true
        self.layer?.backgroundColor = CGColor.black

        let testsubview = NSView(frame: frameRect)
        testsubview.wantsLayer = true
        testsubview.layer?.backgroundColor = CGColor.init(red: 1.0, green: 0.0, blue: 0.0, alpha: 1.0)
        self.addSubview(testsubview)
    }

    required init?(coder decoder: NSCoder) {
        super.init(coder: decoder)
    }
}

这是ViewControllers代码:

class Basics1ViewController: NSViewController {

let percentageShower = PercentageShower()

override func viewDidLoad() {
        super.viewDidLoad()

        // Set screen mesurements:
        let screen = NSScreen.main
        let screenWidth = (screen?.frame.width)!
        let screenHeight = (screen?.frame.height)!

        // Set Percentage View
        percentageShower.frame = CGRect(x: 50, y: 50, width: 100, height: 100)
        self.view.addSubview(percentageShower)

   }
}

这只是一个例子,但为什么不显示我的红色子视图?我可以看到黑色的视图本身,但不是它的子视图。期待您的帮助!

0 个答案:

没有答案