似乎反应本机中的所有组件都是矩形或圆角矩形(也可以表示圆形)。
如何使用六边形等任意形状掩饰<View />
?
答案 0 :(得分:3)
我得出结论,此功能不可用,所以我在Objective-C中实现了一个名为 react-native-masked-view 的原生组件。
basic idea是使用UIView类的mask
属性:
CALayer *mask = [CALayer layer];
mask.contents = (id)[_maskUIImage CGImage];
mask.frame = self.bounds; //TODO custom: CGRectMake(left, top, width, height);
self.layer.mask = mask;
self.layer.masksToBounds = YES;
它在JavaScript中的工作原理如下:
<MaskedView maskImage="mask.png">
...
</MaskedView>