Почему RPBroadcastPickerView отображает пустой белый экран?

Ive создал собственный модуль iOS для приложения, поддерживающего реакцию (v0.61.5). все, что он делает, это возвращает родной RPBroadcastPickerView. я ожидаю, что будет отображаться окно выбора, но в моем тесте отображается только пустой белый экран.

вот как выглядит собственный модуль:

      #import <ReplayKit/ReplayKit.h>
#import <React/RCTViewManager.h>

@interface BroadcastPickerManager : RCTViewManager
@end

@implementation BroadcastPickerManager

RCT_EXPORT_MODULE(BroadcastPicker)

- (UIView *)view
{
  return [[RPSystemBroadcastPickerView alloc] init];
}

@end

вот как это выглядит в RN

BroadcastPickerView.js:

      import { requireNativeComponent, View } from 'react-native'

module.exports = requireNativeComponent('BroadcastPicker')

TestScreen.js:

      class TestScreen extends React.Component {
  constructor(props) {
    super(props)
  }

  render() {
    return (
      <BroadcastPickerView style={{ flex: 1 }} />
    )
  }
}

Не уверен, что я просто что-то упустил, но при переходе на этот экран ничего не отображается. какие-либо предложения?

1 ответ

Вам необходимо указать размер кадра для RPSystemBroadcastPickerView:

      - (UIView *)view
{
  UIView* pickerView = [[RPSystemBroadcastPickerView alloc] init];
  pickerView.frame = CGRectMake(0, 0, 50, 50);
  return pickerView;
}

или же

      - (UIView *)view
{
  return [[RPSystemBroadcastPickerView alloc] initWithFrame: CGRectMake(0, 0, 50, 50)];
}

Вы можете найти пример Swift в документации :

      let broadcastPicker = RPSystemBroadcastPickerView(frame: CGRect(x: 0, y: 0, width: 50, height: 50))