0

我创建了一个新项目并按照本机 iOS UI 组件的教程 ( https://facebook.github.io/react-native/docs/native-components-ios.html )。但是,当我编译并运行我的代码时,它只是一个空白屏幕。我没有看到任何错误。

我知道我的本机view方法正在被调用,但我不确定为什么 MKMapView 没有被渲染。

index.ios.js

/**
 * Sample React Native App
 * https://github.com/facebook/react-native
 * @flow
 */

import React, { Component } from 'react';
import {
  AppRegistry,
  StyleSheet,
  Text,
  View
} from 'react-native';
const MapView = require('./MapView.ios');

export default class NativeTest extends Component {
  render() {
    return (
      <View style={styles.container}>
        <MapView />
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    // backgroundColor: 'blue',
  },
});

AppRegistry.registerComponent('NativeTest', () => NativeTest);

MapView.ios.js

// @flow

import { requireNativeComponent } from 'react-native';
module.exports = requireNativeComponent('RCTMapView');

RCTMapViewManager.m

// RCTMapViewManager.m
#import <MapKit/MapKit.h>

#import "RCTViewManager.h"

@interface RCTMapViewManager : RCTViewManager
@end

@implementation RCTMapViewManager

RCT_EXPORT_MODULE()

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

@end

如何让返回UIView的内容在我的 React Native 应用程序中呈现?

4

1 回答 1

1

我通过从容器中删除alignItems和样式并将样式添加到.justifyContentflex: 1MapView

于 2016-12-11T05:03:13.757 回答