swift UI專項訓練41 用純程式碼的方式實現stepper的值傳遞

來源:互聯網
上載者:User

標籤:ios8   swift   stepper   uikit   純程式碼   

    之前講過通過storyboard的方式捕獲控制項的值,現在我們來試試通過純程式碼的方式來實現同樣的功能。首先定義一個stepper和一個label,用label來顯示stepper的當前值。

 self.priceStepper = UIStepper(frame: CGRectMake(150, 120, 100, 20))        self.priceStepper.minimumValue = 100//最小值        self.priceStepper.maximumValue = 2000//最大值        self.priceStepper.stepValue = 100//步長        self.priceStepper.tintColor = UIColor.orangeColor()        self.priceStepper.addTarget(self, action: "showPrice:", forControlEvents: UIControlEvents.ValueChanged)        dialogContainer.addSubview(priceStepper)

我們使用了addTarget的方式,這跟之前在storyboard中拖動stepper的action中的ValueChanged是一樣的,我們給這個步進器增加了一個addTarget,對象是它自己,捕獲的是stepper值的變化,每當我們點擊+或者-的時候,就會觸發這個方法。方法捕獲了ValueChanged後,調用了一個action:showPrice。showPrice的代碼如下:

 func showPrice(sender:UIStepper!){    self.tasteLabel.text = "消費上限: \(Int(self.priceStepper.value))"    }

tasteLabel是我們之前定義的用來顯示stepper的值的,代碼如下:

self.tasteLabel = UILabel(frame: CGRectMake(20, 130, 120, 10))       // self.tasteLabel.textAlignment = NSTextAlignment.Center        self.tasteLabel.font = UIFont.boldSystemFontOfSize(17)        self.tasteLabel.text = "消費上限: 100"        dialogContainer.addSubview(self.tasteLabel)
運行效果如下,初始狀態:


點擊stepper後label中的值會發生變化:




swift UI專項訓練41 用純程式碼的方式實現stepper的值傳遞

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.