Pregunta

Tengo una UI personalizada que quiero mostrar como el teclado cuando un usuario hace clic en una parte de la pantalla.Sin embargo, he visto ejemplos, hacen referencia a los métodos de UIView que no parecen existir (tal vez es porque tengo la licencia de inicio "), por ejemplo, uIView.beginanimations no está ahí.

¿Alguien tiene un ejemplo de Xamarin (I.E. MONOTOUCH)?

Quiero que se muestre mi pieza de interfaz de usuario, y para desplazar la vista existente para que el campo sea visible correctamente.

¿Fue útil?

Solución

UITextView y UITextField tiene una propiedad inputView, que le permite lograr exactamente lo que necesita.Configure la vista, configúrela como su vista de entrada, y una vez que el usuario realice una vista de texto o un campo de texto primero, aparecerá su opinión.iOS7 tiene una clase UIInputView, que puede subclase, para lograr una vista de fondo similar como el teclado.

Otros consejos

¿Por qué no creas tu vista y lo colocas fuera de la vista visible?Cuando quiera mostrarlo, simplemente lo mueve al área visible.De esa manera también puedes agregar la animación.

NSLayoutConstraint *yourHiddenViewYConstraint;

- (void)viewDidLoad 
{
    [self.view addSubView:yourHiddenView];
    [yourHiddenView setHidden:YES];
    UIView *selfView = self.view
    yourHiddenView.translatesAutoresizingMaskIntoConstraints = NO;
    // add your needed constraints, other than the one below
    yourHiddenViewYConstraint = [NSLayoutConstraint constraintWithItem:yourHiddenView
                                                     attribute:NSLayoutAttributeTop
                                                     relatedBy:NSLayoutRelationEqual
                                                        toItem:selfView
                                                     attribute:NSLayoutAttributeTop
                                                    multiplier:1.0
                                                      constant:0];
    [selfView addConstraint:yourHiddenViewYConstraint];
    yourHiddenViewYConstraint.constant += self.view.frame.size.height;
}

para mostrarlo cuando sea necesario:

- (void)showView
{
    [yourHiddenView setHidden:NO];
    dispatch_async(dispatch_get_main_queue(), ^(void) {
        [self changeConstraint:yourHiddenViewYConstraint withConstant:-self.view.frame.size.height];
    });
}

- (void)changeConstraint:(NSLayoutConstraint *)constraint withConstant:(CGFloat)constant
{
    constraint.constant += constant;

    void (^anim)(void) = ^{
        [self.view layoutIfNeeded];
    };

    [UIView animateWithDuration:0.5 animations:anim completion:nil];
}

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top