使用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!" }
运行看看:
时间: 2024-10-08 09:41:51