Weex ios 怎么获取控件动态高度

1,一个Controller里边既有native控件,又有Weex生成的控件,怎么确定二者的位置,可以用AutoLayout吗?前提是weex控件里边的内容高度是不固定的, 不可以写死。

阅读 7.2k
2 个回答

其实所谓weex生成的控件归根结底还是通过native'实现的,比如div 其实就是一个UIViw,所以并没有什么差异。我没能理解你的意思,nantive controller怎么去加载weex的控件呢?如果是一个纯weex的页面那么你的意思就是扩展了一个native控件然后注册到weex中了,那么这个native控件中一定集成了weexSDK的一些东西,在这些方法中必然能拿到weex传递过来的属性,比如styles、attributes,在weex中绑定style或者class中有width、height属性,那么在你扩展的native控件中有写方法能拿到这些属性的,
ios中集成了WXComponent 之后在这个方法- (instancetype)initWithRef:(NSString )ref type:(NSString )type styles:(NSDictionary )styles attributes:(NSDictionary )attributes events:(NSArray )events weexInstance:(WXSDKInstance )weexInstance能拿到styles和attributues,打印这两个东西你会看到你想要的,然后你改变了css的style或者class:在-(void)updateStyles(NSDictionary *)styles中可以被检测到,也可以拿到的,在这个方法中就可以动态改变你的宽高了。

包括 一些生命周期方法,在这些生命周期方法中做你想做的事,比如改变frame。好好看看weex官方文档中ios扩展一栏---注册native组件和native components了,然后ios端WXComponents的源码好好看看,各种函数都是你想要的,

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进