Repl/Xamarin UITest在iOS Simulator下无法正确获取元素背景色属性值
问题原因
你当前的写法没有命中iOS端Xamarin.Forms BoxView的实际颜色存储属性:
Xamarin.Forms在iOS端渲染BoxView时,并没有将背景色直接赋值给原生UIView的backgroundColor属性,而是通过UIView底层的CALayer的backgroundColor属性实现背景绘制的,你直接读取UIView.backgroundColor拿到的是原生视图默认的透明值,所以返回全0的rgba结果。
正确的查询写法
你需要先调取layer层的属性再读取颜色,调整后的调用代码如下:
...Invoke("layer").Invoke("backgroundColor").Invoke("styleString").Value<string>())[i]
补充说明
如果后续你需要查询BoxView的圆角、边框颜色/宽度等属性,同样需要从layer层对应的属性读取,直接查询UIView本身的属性无法拿到Xamarin.Forms渲染后设置的实际值。
内容的提问来源于stack exchange,提问作者hobbitenok2005
相关产品推荐
相关产品推荐

