iOS 8 和 9 中视图的角半径是多少?

What is the corner radius for views in iOS 8 and 9?

iOS 9 changed the corner radius 用于模态形式 sheet 和动作 sheet 等。 iOS 8 及之前的新维度是什么?

我问的具体原因是我需要在 iPhone 上做一个表单 sheet 演示,所以我正在做我自己的自定义模式转换动画师。但是我想匹配系统的圆角。

对于iOS8角半径为4.

对于iOS9,角半径为12。

由于原生控件似乎使用了自定义的非圆形舍入,因此仍然会有细微的差异,但 99.9% 的用户即使在并排比较中也不会注意到差异。

澄清一下,在 iOS 10、iOS 11 和 iOS 12 上,角半径为 13。

除此之外,如果您不想检查每个 OS 的角半径是多少,您可以访问包含该角半径 (UIDropShadowView) 的视图,如下所示方式:

- (void) viewWillAppear:(BOOL)animated {
   [super viewWillAppear:animated];

   CGFloat cornerRadius = self.navigationController.superview.layer.cornerRadius;
}

也可以使用例如:UISegmentedControl.new.layer.cornerRadius

来实现