Decimal Pad

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Decimal Pad

    Hallo ich habe mir eine kleine Rechner app erstellt. Bei Xcode kann man ja die Tastatur einstellen die kommen soll wenn man auf ein TextField klickt. Am Simulator hat die Tastatur einen Punkt für die kommastellen aber teste ich die app auf meinem iphone dann hat die Tastatur da ein kommasymbol. Wie bekomme ich das Punktsymbol auf meine Tastatur ? kann man da was einstellen in xcode ?
  • Dein iPhone dürfte die deutsche Landeseinstellung haben (Stichwort "NSLocale") und hier werden Dezimalen nun einmal mit einem Komma getrennt. Der Simulator steht wahrscheinlich auf US mit einem Dezimalpunkt. Du solltest eigentlich die Landeseinstellungen des Benutzers honorieren (bei uns ist ein Punkt ja die Tausendertrennung) und statt der Tastatur die Ausgabe mittels NSFormatter anpassen.

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • Sebi89 schrieb:

    ich möchte einfach das bei jedem iphone die selbe tastatur kommt mit dem punkt das ist alles
    Dann kommst Du mit den Standard-Tastaturen meines Wissens nicht weiter, da entsprechend der Benutzereinstellungen angepasst werden. Du wirst Dir eine eigene inputView bauen und mittels entsprechendem Property an das UITextField hängen müssen.

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • also kann ich nicht erzwingen das die us tastatur aufgerufen wird mit punkt ?

    edit habe es nun mit einer Func probiert.

    Func decimalUsed() ->Bool {

    let string = ""

    if string == "," {
    textfield.text = textfield.text! + "."
    return true }
    {return false }

    }

    Die funktion rufe ich jetzt beim rechnen auf mit decimalUsed() aber ich bekomm nen Fehler von wegen Result of call is unused. Wo ist der Fehler ?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Sebi89 ()

  • Wenn Du die Benutzereingabe nur "umbiegen" willst, solltest Du dafür eine Delegate-Methode von UITextField nutzen: "textField:shouldChangeCharatersInRange:...". Dort kannst Du die eingegebenen Zeichen abfragen und durch andere ersetzen.

    Das ändert aber nicht das Tastaturlayout und ich halte es für schlechten Stil.

    Mattes

    P.S.: Die von Dir genannte Warnung (sollte kein Fehler sein) liegt einfach an dem Aufruf der Funktion: Du nutzt eben ihren Rückgabewert nicht... Inhaltlich macht die Funktion aber Unfug, da Du string erst zuweist und dann abfragst: Die Bedingung ist nie erfüllt.
    Diese Seite bleibt aus technischen Gründen unbedruckt.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von MyMattes ()

  • Hier findest Du etwas Objective-C-Code, der besagte Methode nutzt. Es ist wie gesagt eine Delegate-Methode, die angesprungen wird, wenn der Benutzer Text ändert. Mit Deiner Berechnungs-Methode hat dies nichts zu tun.

    Sollte Dir das Prinzip des UITextViewDelegates fremd sein, solltest Du danach mal googlen und die Beispiele nachvollziehen.

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von MyMattes ()

  • Ich habe Dir viele Hilfestellungen gegeben, die Du ignorierst und stattdessen in andere Threads ausweichst. Dafür ist mir meine Zeit zu schade. NSString hat eine Dokumentation da steht auch etwas zum Ersetzen von Zeichen. Ansonsten hilft Google ... ich bin raus.

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.