OS X开发.第一章,1.16, NSBox

1.16 NSBox
NSBox是Cocoa中用来进行信息分组(控件分组)的视图,本身带有标题(title),也可设置自身展示样式。子控件与父视图之间的间隔使用contentViewMargins属性即可,子控件的放入使用NSBox的contentView属性进行addSubview即可。

1.16.1 基本声明

class WidgetController: NSViewController {
    
    
    
    var mView: NSView!
    var box: NSBox!
    var imageView: NSImageView!

    override func loadView() {
    
    
        self.view = NSView(frame: NSRect(x: 0, y: 0, width: 800, height: 500))
    }
    
    private func initView(){
    
    
        mView = NSView(frame: NSRect(x: 0, y: 0, width: self.view.frame.width, height: self.view.frame.height))
        
        box = NSBox(frame: NSRect(x: 50, y: 220, width: 200, height: 200))
        box.title = "ImageView Box"
        box.boxType = .primary
        box.contentViewMargins = NSSize(width: 10, height: 10)
        self.view.addSubview(box)
        
        imageView = NSImageView(image: NSImage(named: "acro")!)
        imageView.frame = NSRect(x: 30, y: 30, width: 100, height: 100)
        self.box.contentView?.addSubview(imageView)
        
    }
    
    private func initConfig(){
    
    
        self.title = "NSWidget-Family"
    }

    override func viewDidLoad() {
    
    
        super.viewDidLoad()
        // Do view setup here.
        
        initView()
        initConfig()
    }

}

运行图
在这里插入图片描述

Guess you like

Origin blog.csdn.net/kicinio/article/details/120914308