通过键盘显示输入

时间:2016-05-30 11:50:14

标签: ios react-native

就像在YouTube和Facebook应用程序上一样,我尝试实现键盘上显示的输入,如果它被聚焦。正常的行为是键盘覆盖输入。我的第一个想法是在聚焦时将输入的位置改为“固定”,但在React Native上没有“固定”。如果它具有焦点,是否还有其他方法可以将元素放在键盘上方?

Facebook keyboard input

2 个答案:

答案 0 :(得分:0)

您需要根据键盘高度打开输入位置。

This project提供了一个现成的组件放置在视图的底部,只要它可见,它就会根据键盘的大小调整大小,它在android和ios上运行良好。

答案 1 :(得分:0)

使用此addObserver进行键盘显示并隐藏在viewwill apperar

[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(KeyboardWillShow:) name:UIKeyboardDidShowNotification object:nil];

[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(KeyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];

IBOutlet NSLayoutConstraint *messageViewBottom;

是你的视图底部约束的IBOutlet。

在keyboardwillshow上

-(void)KeyboardWillShow:(NSNotification*)keyboardInfo
{


        CGSize frame=[[[keyboardInfo valueForKey:@"userInfo"]valueForKey:@"UIKeyboardFrameEndUserInfoKey"]CGRectValue].size;

        self.messageViewBottom.constant=frame.height; //add keyboard height to bottom constraint so your view go up when keyboard show




}
键盘上的

-(void)KeyboardWillHide:(NSNotification*)keyboardInfo
{
    self.messageViewBottom.constant = 0;
}

我觉得它对你有用:)