[macOS]一些基础控件

Posted ybw123321

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[macOS]一些基础控件相关的知识,希望对你有一定的参考价值。

使用sb的话,ctrl拖拽有自动生成的ViewController可用,但是今天,我们用xib

△不要勾选Use Storyboards

create以后就会这样:

看吧,没有现成的ViewController。

所以我们需要自己创建~

△不要创建xib,因为已经有一个了

在object library搜一下ViewController

把它拖到这儿

然后在右边把view连接到xib的Windows

  

这样就把xib和RootViewController联系起来了

在RootViewController里添加这个函数,系统加载了xib的时候就会调用它(nib是程序打包后xib变成的)

然后ctrl拖拽法将这些拖好,这里要注意一个东西——textView!

     

上图我们可以看出从object library拖出来的textView其实是由一个scrollView和一个textView组成,textView是scrollView的子控件,所以,想要关联textView需要在左边选中textView拖,直接拖关联的是scrollView!!!

完成RootViewController:

先定义两个String数组,用来存放popUpButton和ComboBox的选项值:

var demoPop: [String]!
var demoCombo: [String]!

 完善初始化,在awakeFromNib里:

override func awakeFromNib() {
        //textField
        demoTextField.stringValue = "this is a textField"
        
        //popUpButton
        demoPop = ["pop1", "pop2", "pop3"]
        //清除原来的item1、item2
        demoPopUpBtn.removeAllItems()
        demoPopUpBtn.addItemsWithTitles(demoPop)
        demoPopUpBtn.selectItemAtIndex(0)
        
        demoCombo = ["combo1", "combo2", "combo3"]
        demoComboBox.removeAllItems()
        demoComboBox.addItemsWithObjectValues(demoCombo)
        demoComboBox.selectItemAtIndex(0)
        
        demoDatePicker.dateValue = NSDate()
    }

 注意里面给popUpButton添加选项用的是addItemsWithTitles,你也可以一个个添加用addItemWithTitles,同理comboBox。

再定义button点击事件:

@IBAction func goBtnClicked(sender: AnyObject) {
        
        let popUpString = demoPopUpBtn.stringValue
        let textFieldString = demoTextField.stringValue
        let comboString = demoComboBox.stringValue
        let sliderNum = demoSlider.doubleValue
        let dateString = demoDatePicker.stringValue
        
        demoTextView.string = "U writed \'\\(textFieldString)\' & selected \'\\(popUpString)\' in popUpButton & selected \'\\(comboString)\' in ComboBox & \'\\(sliderNum)\' in slider & selected \'\\(dateString)\' in datePicker!"
    }

 运行看看:

以上是关于[macOS]一些基础控件的主要内容,如果未能解决你的问题,请参考以下文章

sh macOS命令片段

[Go] 通过 17 个简短代码片段,切底弄懂 channel 基础

macOS libmalloc 堆利用之一:Tiny 篇

Android 片段与复合控件

AJAX相关JS代码片段和部分浏览器模型

知乎控件分享