Szukam niehackish rozwiązanie dla tego, więc w zasadzie -inputView. Częścią, której nie jestem pewien, jest to, jak sprawić, by wyglądała jak zwykłe klawiatury, od tła po klawisze. Zdaję sobie sprawę, że mogłem sfotografować klawiaturę Apple, ale wydaje się, że jest trochę hackish, zwłaszcza jeśli jabłko (prawdopodobnie nie, ale nadal możliwe) decyduje się zmienić wygląd swoich klawiatur. Wiem, że Numbers wykonał znakomitą robotę polegającą na tworzeniu dodatkowych klawiatur, które wyglądają jak standardowe systemy, i chciałbym to zrobić tak, jak te (choć oczywiście mają dostęp do tych samych zasobów, które stworzyły klawisze systemowe, w tym możliwe ramy prywatne, itp.)Niestandardowa klawiatura iPada, która wygląda jak klawiatura systemowa
Odpowiedz
Utwórz kontroler widoku i XIB. Xib powinien mieć 1-9,0 i usuwać przyciski odwzorowane na IBOutlets w twoim kontrolerze. Zachowaj i zachowaj ciąg wartości zwracanej jako właściwość. Możesz dodawać miejsca dziesiętne itp., Jeśli chcesz. W nagłówku przechowuj zamknięcie edycji edycji z właściwością (lub alternatywnie utwórz delegata lub użyj powiadomienia).
@property (copy) void(^valueChangedBlock)(NSString* string);
Na podciąć, każdy przycisk wysyła zdarzenie sposobu jak ten:
- (IBAction) pressKey:(id)sender
{
NSString *toAppend;
// Instead of this switch you can store the values in a dictionary mapped by sender.
switch(sender)
{
case oneButton: [email protected]"1"; break;
case twoButton: [email protected]"2"; break;
...
}
returnValue = [returnValue appendString:toAppend];
valueChanged(returnValue);
}
Oczywiście klawisz Delete należy usunąć znak od końca łańcucha zamiast dopisywania. Oprócz tworzenia kontrolera i dodawania tego widoku jako inputView, powinieneś dodać valueChangedBlock i ustawić go, aby zaktualizować pole tekstowe. Możesz ustawić wyraźny niestandardowy przycisk nad polem tekstowym ustawionym tak, aby pole odpowiadało jako pierwsze, aby nie wyglądało tak, jakby użytkownik mógł edytować w dowolnym momencie ciągu znaków.
I stosowane są następujące:
tenDigitKeyboard.m
-(IBAction)pressedKey:(UIButton *)sender
{
[delegate pressedKey:sender.tag];
}
gdzie pełnomocnik jest zdefiniowane jak 'id pełnomocnika;
następnie w delegata I do ...
-(void)pressedKey:(NSInteger)key
{
NSString * bufferString = model.string;
if (key == -1) {//delete
model.string = [bufferString substringWithRange:NSMakeRange(0, [bufferString length]-1)];
}else{
//will need to change the following to lookup key value based on a lookup of the button.tag
model.string = [bufferString stringByAppendingFormat:@"%i",key];
}
[self update];//updates the view
}
Mam klawiatura przycisk grafika z: http://www.teehanlax.com/blog/iphone-gui-psd-v4/
- 1. Domyślna klawiatura alfanumeryczna iPada w trybie numerycznym
- 2. Niestandardowa klawiatura iOS8 za pomocą scenorysów
- 3. Niestandardowa klawiatura telegramu Bot w С #
- 4. Klawiatura niestandardowa i znaki dla iPhone'a w Objective C
- 5. Jak ustawić inne tło klawiszy dla Androida niestandardowa klawiatura
- 6. Niestandardowa klawiatura iOS8 - Kopiuj i wklej do UIPasteboard
- 7. Niestandardowa klawiatura z Androidem w stylu Material Design
- 8. iOS: Niestandardowa klawiatura: chcę wysyłać obrazy do textDocumentProxy (Input controls)
- 9. Wyskakująca niestandardowa klawiatura arabska/urdu na Edittext Issue
- 10. Opóźnienie podczas aktywacji pola tekstowego wewnątrz iOS 8 Niestandardowa klawiatura
- 11. Klawiatura niestandardowa z Androidem Nie można utworzyć instancji następujących klas:
- 12. React-natywny: Jak kontrolować, która klawiatura przesuwa się w górę
- 13. SearchView i klawiatura
- 14. Klawiatura numeryczna w Xcode
- 15. Klawiatura UITableViewController i UITextField
- 16. kątowe 2 klawiatura Wydarzenia
- 17. Klawiatura Android api
- 18. JavaFX wirtualna klawiatura
- 19. Klawiatura Wyświetlana pozycja zawiedlonych elementów
- 20. Brakująca klawiatura na symulatorze iOS8?
- 21. domyślna klawiatura numeryczna telefonu iPhone
- 22. Klawiatura numeryczna IOS z dziesiętnym
- 23. Klawiatura nakładających EditText na kliknięcia
- 24. Odmowa uprawnień (publickey, interaktywna klawiatura)
- 25. Dlaczego wirtualna klawiatura nie znika?
- 26. Numeryczna klawiatura miękka na Androida
- 27. Android EdytujTekst w ListView - klawiatura
- 28. Klawiatura ekranowa w Qt 5
- 29. Android PhoneGap - klawiatura numeryczna tylko
- 30. Jak wykryć, czy klawiatura niestandardowa jest aktywowana z aplikacji kontenerowej klawiatury?
Cześć Piotrze, w moim przypadku powyższy kod daje błąd jak: wskaźnik nie są dozwolone jako wartości przypadków. Co jest nie tak? Co powinienem zrobić? Proszę o pomoc –
Napisałem ten kod jako przykład, ale potrzebne są pewne modyfikacje. Spróbuj użyć instrukcji if-else, aby sprawdzić, kto jest nadawcą lub, jeszcze lepiej, zapisać przyciski i ich wartości wynikowe w słowniku podczas inicjowania kontrolera dla pojedynczego wyszukiwania linii w metodzie pressKey. –