ios - Create many UISliders that update a related label using one function -


i have experience user rating product, dragging sliders. each slider has related uilabel title , uilabel value. avoid creating 12 functions, 1 each slider , associated label. new development generally. guessing class or array useful here, not sure how use either. here's code updates 1 value, , know why is, i'm hoping avoid declaring 12 variables value , 12 functions each one.

import uikit  class viewcontroller: uiviewcontroller {     @iboutlet weak var slider1: uislider!     @iboutlet weak var value1: uilabel!     override func viewdidload() {         super.viewdidload()     }     @ibaction func sliderslide(sender: uislider) {         value1.text = round(sender.value*100).description     }     override func didreceivememorywarning() {         super.didreceivememorywarning()     } } 

well,you can use outlet collection , 'tag',

  1. drag every label same outlet collection enter image description here
  2. drag every slider ibaction same function

  3. then set tag of slider index of label in outlet collection. example,you first drag labela collection,then tag 0 enter image description here

then code

import uikit  class viewcontroller: uiviewcontroller { @iboutlet var labels: [uilabel]! override func viewdidload() {     super.viewdidload() } @ibaction func sliderslide(sender: uislider) {     let index = sender.tag     let label = labels[index]     label.text = round(sender.value*100).description } override func didreceivememorywarning() {     super.didreceivememorywarning() } } 

Comments

Popular posts from this blog

angularjs - ADAL JS Angular- WebAPI add a new role claim to the token -

php - CakePHP HttpSockets send array of paramms -

node.js - Using Node without global install -