1、Image source size {42, 32} does not match loaded image size {21, 16}
假設圖片的名稱叫a.png
錯誤截圖
錯誤原因
檢查資源文件
a
,a@2x.png
分辨率不是a.png
的兩倍,修改資源文件確保@2x
是其兩倍,@3x
分辨率是其三倍之后,問題解決。----2016-06-16
2、
TabBarIOS.Item
onPress
方法調用,但是界面并沒有跟著一起發生變化,示例如下:
class XXXXXX extends Component {
constructor(props) {
super(props);
this.state = {
menuItems: [{
title: '新聞',
icon: require('./App/resources/night_tabbar_icon_news_normal.png'),
highlight: require('./App/resources/night_tabbar_icon_bar_normal.png'),
backgroundColor: '#ff0000',
tag: 'news'
},
{
title: '閱讀',
icon: require('./App/resources/night_tabbar_icon_reader_normal.png'),
highlight: require('./App/resources/night_tabbar_icon_bar_normal.png'),
backgroundColor: 'white',
tag: 'reading'
},
{
title: '視頻',
icon: require('./App/resources/night_tabbar_icon_media_normal.png'),
highlight: require('./App/resources/night_tabbar_icon_bar_normal.png'),
backgroundColor: 'blue',
tag: 'media'
},
{
title: '話題',
icon: require('./App/resources/night_tabbar_icon_bar_normal.png'),
highlight: require('./App/resources/night_tabbar_icon_bar_normal.png'),
backgroundColor: 'yeallow',
tag: 'bar'
},
{
title: '我',
icon: require('./App/resources/night_tabbar_icon_me_normal.png'),
highlight: require('./App/resources/night_tabbar_icon_bar_normal.png'),
tag: 'me'
}],
selectedTag: ''
};
this.state.selectedTag = this.state.menuItems[0].tag;
}
render() {
var items = this.state.menuItems.map((itemValue) => {
return (
<TabBarIOS.Item
key = {itemValue.tag}
selected = {this.state.selectedTag === itemValue.tag}
title = {itemValue.title}
icon = {itemValue.icon}
selectedIcon = {itemValue.highlight}
onPress = {() => {
this.state.selectedTag = itemValue.tag;
}}
>
<View style = {{flex: 1, backgroundColor: '#FF0000'}}>
<Text style = {styles.welcome}>
{itemValue.title}
</Text>
</View>
</TabBarIOS.Item>
)
});
return (
<TabBarIOS
unselectedTintColor = 'gray'
tintColor = 'red'
barTintColor = 'white'>
{items}
</TabBarIOS>
);
}
}
解決辦法:
....
onPress = {() => {
this.setState({
selectedTag: itemValue.tag
});
}}
....
----2016-06-17
3、TabBarIOS.Item初始化代碼規范正常,但是界面不顯示:
檢查原因:
<TabBarIOS.Item
key = {itemValue.tag}
selected = {this.state.selectedTag === itemValue.tag}
title = {itemValue.title}
icon = {itemValue.icon}
onPress = {() => {
this.setState({
selectedTag: itemValue.tag
});
}}
>
//這里面是空的!!!!!!!
</TabBarIOS.Item>
加上視圖就可以顯示了。
----2016-06-17
4、this.setState
is not a function
檢查一下,調用這個地方的函數是不是沒有XXX.bind(this)
----2016-06-19
5、onScroll
function 只調用了一次,雖然已經設置了scrollEventThrottle
參數,不管是設置其大于(or <=)16均無任何效果,控制臺沒有任何報錯。
檢查一下 onScroll
回調函數里是不是執行了些不符合規則的東西
----2016-06-20