2009-03-12 1 views
1

Für die spezielle Anwendung, die ich entwickle, sind die eingebauten Tastaturen für mich nutzlos (ich muss 0-9 und X, del und nichts anderes unterstützen). Ich bin auch nach einer Benutzeroberfläche mit großen Tasten, um es einfacher zu machen, die Tasten zu drücken.Ist es möglich, ein TextView ohne Tastatur zu haben?

Es ist einfach genug, mit den Tasten eine Benutzeroberfläche zu erstellen, aber ich kann mir nicht vorstellen, wie es gemacht wird, damit die Tastatur überhaupt nicht erscheint, wenn der Benutzer die TextView auswählt (ich möchte sie haben) sehe es überhaupt nicht).

Ich möchte die TextView-Funktion in der Lage zu wählen, wo der Cursor ist, sonst würde ich Punt und verwenden Sie eine Bezeichnung.

Ist das der falsche Weg alle zusammen und ich sollte es anders machen? Wenn nicht, gibt es eine Möglichkeit, die Tastatur zu verstecken?

Antwort

1

Machen Sie den TextVeiw uneditable und die Tastatur wird kommen nicht

+0

aber dann habe ich nicht die Möglichkeit, den Cursor mit dem Bearbeitungsfeld zu bewegen. Ich würde lieber nicht 10 Zeichen löschen müssen, weil das erste falsch war (und ich kann Validierung nicht durchführen, bis alles eingegeben ist) – TofuBeer

1

Nein, es ist nicht. Eine Textansicht ohne Tastatur wird als "Label" bezeichnet. (Und das werden Sie nicht mit der Einfügemarke helfen, aber sie ist die Pausen.)

+0

Da ein Label keine Cursorbewegung zulässt, sind sie nicht gleich. – TofuBeer

+1

Ich bin mir dessen bewusst. Leider sind der Cursor und die Tastatur ein Pauschalangebot; Es gibt keine bekannte Methode, um eine ohne die andere zu erhalten, wenn Sie selbst einen Einfügepunkt implementieren. –

1

Try this:

UIView* emptyView = [ [ UIView alloc ] initWithFrame:CGRectZero ]; 
textView.inputView = emptyView; // this will show emptyView (=nothing) instead of keyboard 
[ emptyView release ]; 
0

Ja wir das tun können. Fertig, um die Benutzerinteraktion zu deaktivieren. In Ihrem xib Anwenderwechsel ist wie enter image description here

Sie die Interaktion mit dem Benutzer deaktivieren müssen wie enter image description here

aktiviert Wenn Sie programmatisch bedeutet erstellt, Sie haben wie unter Code in viewDidLoad Methode zu schreiben,

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    UITextView *txtvew = [[UITextView alloc] initWithFrame:CGRectMake(50, 150, 150, 300)]; 
    txtvew.userInteractionEnabled = NO; 

}