2015-10-26 3 views
1

Я сейчас работаю над своим первым проектом Swift. У меня есть 2 шага и один ярлык - оба степпера отправляют на него свои значения. Как добавить значение второго шага к метке, в которой уже указано значение первого шага? Вот мой код:Как добавить несколько значений UIStepper в одну метку?

override func viewDidLoad() { 
    super.viewDidLoad() 


    stepper.wraps = true 
    stepper.autorepeat = true 
    stepper.maximumValue = 10000 
    stepper2.wraps = true 
    stepper2.autorepeat = true 
    stepper2.maximumValue = 10000 

} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 

@IBOutlet weak var valueLabel: UILabel! 
@IBOutlet weak var stepper: UIStepper! 
@IBAction func stepperValueChanged(sender: UIStepper) { 
    valueLabel.text = Int(sender.value).description 
} 



@IBOutlet weak var stepper2: UIStepper! 
@IBAction func stepper2ValueChanged(sender: UIStepper) { 
    valueLabel.text = Int(sender.value).description 
} 

}

Спасибо!

+0

Я попробовал ваш код, и все работает. Степперы записывают свои значения в метку ONE. Что именно вы хотите? Хотите иметь ОБА значения одновременно на вашем лейбле? Разделяется Space, Komma, ... ИЛИ вы хотите просто иметь ОДНО значение в метке, тогда оно уже работает. – LukeSideWalker

+0

И одна строка кода - с моей точки зрения - немного странная: valueLabel.text = Int (sender.value) .description -> Это преобразует Float в Int, а затем в String через 'description' , Вы можете просто сделать это (конвертировать float прямо в строку): valueLabel.text = String (sender.value) – LukeSideWalker

+0

Я хочу получить сумму обоих значений в одной метке! –

ответ

0

Если вы хотите совместить два значения с ONE String и показать эту строку на своей этикетке, вам нужно создать новую функцию, которая сделает это за вас. Я добавил такую ​​функцию в код: `

класса ViewController: UIViewController {

override func viewDidLoad() { 
    super.viewDidLoad() 

    stepper.wraps = true 
    stepper.autorepeat = true 
    stepper.maximumValue = 10000 
    stepper2.wraps = true 
    stepper2.autorepeat = true 
    stepper2.maximumValue = 10000 

} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 

@IBOutlet weak var valueLabel: UILabel! 
@IBOutlet weak var stepper: UIStepper! 

@IBAction func stepperValueChanged(sender: UIStepper) { 

    // valueLabel.text = Int(sender.value).description 
    addValuesToASumAndPutItIntoTheLabel() 
} 

@IBOutlet weak var stepper2: UIStepper! 
@IBAction func stepper2ValueChanged(sender: UIStepper) { 

    // valueLabel.text = String(sender.value) 
    addValuesToASumAndPutItIntoTheLabel() 

} 

func addValuesToASumAndPutItIntoTheLabel() { 
    let summe : Int = Int(stepper.value + stepper2.value) 
    valueLabel.text = summe.description 
} 

}`

+0

хорошо, но теперь на этикетке просто стоит «val ...» –

+0

Я отредактировал код! – LukeSideWalker

+0

ах действительно здорово. Спасибо. любить это. это правильно, что мне просто нужно. –