2

嗨,在我的应用程序中,我需要一个圆形而不是矩形的视图。如何创建圆形的uiview对象请告诉我。提前致谢。

4

2 回答 2

2

从技术上讲,所有 UIView 将始终是“矩形”,这意味着它们将使用 {x, y} 坐标放置在屏幕上,并且它们将使用高度和宽度进行标注(使它们成为矩形)。但是,在 UIView 的范围内,您可以做很多事情来使其显示为一个圆圈。这里有一些方法:

  1. 使用UIImageView并将其 Image 设置为圆形图像。这很容易,但不是很灵活。
  2. 学习Core Graphics(也称为Quartz2D),在UIView的-drawRect:方法中画一个圆。Quartz 2D 编程指南
  3. 为 UIView 的图层使用 CAShapeLayer。CAShapeLayer 类参考

当然还有其他方法,但这应该是一个好的开始。如果您需要检测圆内的触摸,您可以使用选项 2. 或 3. 并保留对 CGPathRef(或 UIBezierPath)的引用,并使用CGPathContainsPoint来确定触摸是否在圆的范围内并采取相应措施。

于 2013-03-17T14:15:04.983 回答
1

您可以设置视图层的cornerRadius。

#import <QuartzCore/QuartzCore.h>

yourView.layer.cornerRadius = 20;
于 2013-03-17T10:02:28.347 回答