2016-04-02 71 views
0

概念:用户在屏幕上沿y方向上下移动圆形动画视图,从而增加和减少单独的动画视图的高度。如何根据另一个动画视图的位置动态地动画视图的高度?

问题:用于向上和向下移动圆的“this.state.pan.getLayout()”会在计算时出现错误。

例如

position = function() { 
    let Window = Dimensions.get('window'); 
    return { 
    height: (Window.height/2) + this.state.pan.getLayout() 
    } 
} 

返回类型的NSString的误差[对象的对象]可以不被转换为的NSNumber

回答

0

getLayout()方法中使用返回{left: String, top: String}style属性。要检索的实际数量,访问xy属性直接:

position = function() { 
    let Window = Dimensions.get('window'); 
    return { 
     height: (Window.height/2) + this.state.pan.y 
    } 
} 

更多信息:https://facebook.github.io/react-native/docs/animated.html#getlayout

+0

给出了这样的错误:JSON值“333.5 [对象的对象]”类型的的NSString不能转换到的NSNumber – Rheisen

+0

我在我的帖子里误会了。你没有给我们关于你的代码的详细信息来确定你的问题 – whitep4nther