objective-c - bottom - tab bar icons ios
AƱadiendo barra de herramientas en la parte superior de la uikeyboard (5)
Aquí está el código en caso de que alguien más lo necesite. Encontrado en el desbordamiento de pila
- (void)viewDidLoad
{
[super viewDidLoad];
UIToolbar* numberToolbar = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 50)];
numberToolbar.barStyle = UIBarStyleBlackTranslucent;
numberToolbar.items = [NSArray arrayWithObjects:
[[UIBarButtonItem alloc]initWithTitle:@"Clear" style:UIBarButtonItemStyleBordered target:self action:@selector(clearNumberPad)],
[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil],
[[UIBarButtonItem alloc]initWithTitle:@"Apply" style:UIBarButtonItemStyleDone target:self action:@selector(doneWithNumberPad)],
nil];
[numberToolbar sizeToFit];
numberTextField.inputAccessoryView = numberToolbar;
}
-(void)clearNumberPad{
[numberTextField resignFirstResponder];
numberTextField.text = @"";
}
-(void)doneWithNumberPad{
NSString *numberFromTheKeyboard = numberTextField.text;
[numberTextField resignFirstResponder];
}
Tengo una barra de herramientas y me gustaría colocarla en la parte superior del teclado.
En la notificación sobre el teclado, intenté agregar la barra de herramientas al teclado, pero no tuve suerte, no puedo agregar
Por favor hagamelo saber
UIWindow* tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:1];
UIView* keyboard;
for(int i = 0; i < [tempWindow.subviews count]; i++)
{
//Get a reference of the current view
keyboard = [tempWindow.subviews objectAtIndex:i];
//Check to see if the description of the view we have referenced is "UIKeyboard" if so then we found
//the keyboard view that we were looking for
if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES)
{
[keyboard addSubview:myToolbar];
}
}
Creo que quieres un inputAccessoryView .
Básicamente, crea una vista y la configura como una vista accesoria de entrada de campo de texto o vista de texto.
[textField setInputAccessoryView:inputAccessoryView];
Si desea agregar una barra de herramientas en el teclado, está en el lugar correcto. Puede utilizar BSKeyboard fácilmente. Mira la implementación a continuación;
en el archivo .h
#import "BSKeyboardControls.h"
añadir delegados
@interface ViewController : UIViewController <BSKeyboardControlsDelegate>
Ahora salte el archivo .m, vaya a viewDidLoad. Añadiremos el campo de texto que quiero añadir a la barra de peaje.
self.keyboardControls = [[BSKeyboardControls alloc] initWithFields:@[PINTextField]];
[self.keyboardControls addDelegate:self];
deberíamos agregar activeField como abajo,
- (void)textFieldDidBeginEditing:(UIView *)textField {
[self.keyboardControls setActiveField:textField];
}
Y el último paso es la implemantación de métodos delegados.
- (void)keyboardControlsDonePressed:(BSKeyboardControls *)keyboardControls {
[super textFieldShouldReturn:self.keyboardControls.activeField];
}
Eso es.
Para obtener más información y descargar los archivos BSKeyboard, puede mover el siguiente enlace BSKeyboard Githup Link
https://github.com/asefnoor/IQKeyboardManager
Este es el mejor controlador de teclado que he visto. Muy excelente forma de gestionar entradas de texto.
Algunas de sus características 1) LINEA DE CÓDIGO CERO
2) Trabaja Automáticamente
3) No más UIScrollView
4) No más subclases
5) No más trabajo manual
6) No más #importaciones
Solución simple para iOS 8 y 9.
textField
tu campo de textField
, searchBar
textField
, etc.
customView
: vista que se mantendrá en la parte superior del teclado. ¡NO lo agregue como una subvista a la jerarquía! No es necesario establecer ninguna restricción o posición.
[searchBar setInputAccessoryView:self.customView];
- (BOOL)canBecomeFirstResponder{
return true;
}
- (UIView *)inputAccessoryView {
return self.customView;
}
Si necesita dejar el customView en la parte inferior y no ocultarlo después de cerrar el teclado, agregue el observador:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidHide:) name:UIKeyboardDidHideNotification object:self.view.window];
Y metodo
- (void)keyboardDidHide:(NSNotification *)notification {
[self becomeFirstResponder];
}