2015-10-17 79 views
2

正如this Tutorial说,它会很容易到本地存储的图像添加到TabItem的(或任何部分):如何在本地使用本地图像?

  1. XCode中添加图像到images.xcassets
  2. 要求它像这样“图标= {要求(“像铅笔!”)}”(图像的名称是‘铅笔’)

我所得到的则是在iOS的模拟器异常有以下文字:

需要未知模块“图像!铅笔”。如果您确定模块为 ,请尝试重新启动打包程序

这里出现了什么问题?教程?或者有反应原生更改完成?

代码:

class devdactic_tabs extends Component { 

constructor(props) { 
    super(props); 
    this.state = { 
     selectedTab: 'welcome' 
    }; 
} 

render() { 
    return (
     <TabBarIOS selectedTab={this.state.selectedTab}> 
      <TabBarIOS.Item 
       selected={this.state.selectedTab === 'welcome'} 
       icon={require('image!pencil')} 
       onPress={() => { 
      this.setState({ 
       selectedTab: 'welcome', 
      }); 
     }}> 
       <Welcome/> 
      </TabBarIOS.Item> 
      <TabBarIOS.Item 
       selected={this.state.selectedTab === 'more'} 
       systemIcon="contacts" 
       onPress={() => { 
      this.setState({ 
       selectedTab: 'more', 
      }); 
     }}> 
       <More/> 
      </TabBarIOS.Item> 
     </TabBarIOS> 
    ); 
} 

}

The images-assets

+0

我有同样的问题。我通过将文件夹名称命名为图标的确切名称来解决它。在你的情况:pencil.imageset - >图像pencil.png和[email protected]。之后,重新启动打包程序并构建新的应用程序。应该工作然后 – BigPun86

回答

3

文件名必须与images.xcassets中的资源名称完全相同。

例如,当您添加一个名为“foobar”的新图像集时,分配给该集的所有图像必须命名为“foobar.png”。 如果您使用例如Glyphishpro-Images,图像文件以数字为前缀。如果您然后将这些图像重命名为没有这个数字的名称,您将会得到这个错误!

我最近几天遇到了这个问题......它也是你的吗?

+1

我有同样的问题。我通过将文件夹名称命名为图标的确切名称来解决它。在你的情况:pencil.imageset - >图像pencil.png和[email protected]。之后,重新启动打包程序并构建新的应用程序。应该工作 – BigPun86

0

请按照有关如何将资源添加到iOS和Android项目的official tutorial

还要确保:

注:需要新的资源 任何时候你添加新资源,以Images.xcassets则需要通过Xcode中重新构建应用程序之前,你可以用它构建应用程序 - 模拟器内的重新加载是不够的。

+0

我现在做:)显然,我仍然做一切正确。我清理了这个项目,重新设置了模拟器。这些文件是可用的,Xcode的具体设置也 – delete

+0

有一个只允许PNG文件的iOS,一个快速修复重命名铅笔扩展到PNG,你试过吗? –

+0

假设我想从相机库中显示一个图像。如何使用图片标签显示图片?看起来React Native总是在资产中搜索图像,而我无法从本地存储传递图像路径。 –