如何用任何形状掩盖反应原生的<view>?

时间:2015-05-31 18:14:10

标签: react-native

似乎反应本机中的所有组件都是矩形或圆角矩形(也可以表示圆形)。

如何使用六边形等任意形状掩饰<View />

1 个答案:

答案 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>