Класс LocationClient не найден в сервисах Google Play, версия 22

Сначала вам нужно установить response-native-keysevents .

  1. В XCode в навигаторе проекта щелкните правой кнопкой мыши Библиотеки ➜ Добавьте файлы в [название вашего проекта ] Перейдите к node_modules ➜ response-native-keyboardevents и добавьте файл .xcodeproj
  2. . В XCode в навигаторе проекта выберите свой проект. Добавьте lib * .a из проекта keyboardevents в фазы сборки вашего проекта. ➜ Link Binary With Libraries. Щелкните файл .xcodeproj, добавленный ранее в навигаторе проекта, и перейдите на вкладку «Настройки сборки». Убедитесь, что включено «Все» (вместо «Basic»). Найдите пути поиска заголовков и убедитесь, что они содержат как $ (SRCROOT) /../ response-native / React, так и $ (SRCROOT) /../../ React-mark как рекурсивные.
  3. Запустите проект (Cmd + R)

Затем вернитесь в javascript land:

Вам нужно импортировать сообщения, реагирующие на реакцию на клавиатуре.

var KeyboardEvents = require('react-native-keyboardevents');
var KeyboardEventEmitter = KeyboardEvents.Emitter;

Затем, по вашему мнению, добавьте некоторое состояние для пространства клавиатуры и обновите его от прослушивания событий клавиатуры.

  getInitialState: function() {
    KeyboardEventEmitter.on(KeyboardEvents.KeyboardDidShowEvent, (frames) => {
      this.setState({keyboardSpace: frames.end.height});
    });
    KeyboardEventEmitter.on(KeyboardEvents.KeyboardWillHideEvent, (frames) => {
      this.setState({keyboardSpace: 0});
    });

    return {
      keyboardSpace: 0,
    };
  },

Наконец, добавьте разделитель к вашей функции рендеринга под всем, чтобы при увеличении размера


Также возможно использовать анимацию api, но для простоты мы просто настраиваем после анимации.

29
задан Sam 18 December 2014 в 21:27
поделиться