1
Ich möchte Focus (aktivieren) ein Textfeld, nachdem eine Fehlermeldung angezeigt und der Benutzer auf OK geklickt hat. In VBA war es so etwas wie txtbox.SetFocusWie kann ich auf ein Textfeld nach einer Warnung gehen/aktivieren/setzenFokus
//
// ViewController.swift
// Trinkgeldrechner
//
// Created by Joshua Fenster on 23.07.16.
// Copyright © 2016 purple. All rights reserved.
//
import UIKit
class ViewController: UIViewController, UITextFieldDelegate{
@IBOutlet weak var lableTrinkgeldEuro: UILabel!
@IBOutlet weak var labelGesamtbetragEuro: UILabel!
@IBOutlet weak var textfieldUserEingabePreisdesAbends: UITextField!
@IBOutlet weak var textfieldUserEingabeProzentTrinkgeld: UITextField!
//-- ME---
@IBOutlet weak var switchService: UISwitch!
@IBOutlet weak var switchFast: UISwitch!
@IBAction func switchACTIONService(sender: AnyObject)
{
check()
}
@IBAction func switchACTIONFast(sender: AnyObject)
{
check()
}
//@IBAction func textfieldACTIONUserEingabeProzentTrinkgeld(sender: AnyObject)
//{
//trinkgeldBerechnen()
// }
@IBAction func textfieldACTIONUserEingabeProzentTringeld(sender: AnyObject)
{
check()
}
@IBAction func buttonClear(sender: AnyObject)
{
clear()
}
//-----------------------------------------------------------------------
//---- Globale Variablen
var gesamtbetrag: Float = 0.00
var trinkgeld: Float = 0.00
var strPreisdesAbends : String = ""
var strProzentTrinkgeld : String = ""
var trinkgeldMulti: Float = 0.00
var trinkgeldMulti2: Float = 0.00
//-----------------------------------------------------------------------
// ---- Funktionen
func check()
{
if (textfieldUserEingabePreisdesAbends.text == "")
{
displayAlert()
clear()
}
else
{
trinkgeldBerechnen()
}
}
func trinkgeldBerechnen()
{
strPreisdesAbends = textfieldUserEingabePreisdesAbends.text!
strProzentTrinkgeld = textfieldUserEingabeProzentTrinkgeld.text!
if switchService.on
{
trinkgeldMulti = 1
}
else
{
trinkgeldMulti = 0
}
if switchFast.on
{
trinkgeldMulti2 = 1
}
else
{
trinkgeldMulti2 = 0
}
//----- Strings in Zahlen
let preisdesabends = Float(strPreisdesAbends)
let prozenttrinkgeld = Float(strProzentTrinkgeld)
//----- Berechnung
trinkgeld = preisdesabends! * ((prozenttrinkgeld! + trinkgeldMulti + trinkgeldMulti2)/100)
gesamtbetrag = preisdesabends! + trinkgeld
ausgabeTrinkgeld()
}
func ausgabeTrinkgeld()
{
let formatGesamtbetrag = String(format:"%0.2f", gesamtbetrag)
let formatTrinkgeld = String(format:"%0.2f", trinkgeld)
lableTrinkgeldEuro.text = " \(formatTrinkgeld) €"
labelGesamtbetragEuro.text = " \(formatGesamtbetrag) €"
}
func displayAlert()
{
let titel = "Rechnungsbetrag"
let message = "Du musst erst den Rechnungsbetrag eintragen"
let okText = "Ok"
let alert = UIAlertController(title: titel, message: message, preferredStyle: UIAlertControllerStyle.Alert)
let okButton = UIAlertAction(title: okText, style: UIAlertActionStyle.Cancel, handler: nil)
alert.addAction(okButton)
presentViewController(alert, animated: true, completion: nil)
}
// --- Clear
func clear()
{
labelGesamtbetragEuro.text = "0.00€"
lableTrinkgeldEuro.text = "0.00€"
textfieldUserEingabeProzentTrinkgeld.text = ""
textfieldUserEingabePreisdesAbends.text = ""
switchService.setOn(false, animated: true)
switchFast.setOn(false, animated: true)
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// Tastatur ausblenden
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
hideKeyboards()
}
func hideKeyboards() {
textfieldUserEingabePreisdesAbends.resignFirstResponder()
textfieldUserEingabeProzentTrinkgeld.resignFirstResponder()
}
}
Vielen Dank! Genau das habe ich gesucht. Es funktionierte! –
Dank Zeit sparen ... Tolle Antwort – shashik493