嗨,在我的应用程序中,我需要一个圆形而不是矩形的视图。如何创建圆形的uiview对象请告诉我。提前致谢。
问问题
1044 次
2 回答
2
从技术上讲,所有 UIView 将始终是“矩形”,这意味着它们将使用 {x, y} 坐标放置在屏幕上,并且它们将使用高度和宽度进行标注(使它们成为矩形)。但是,在 UIView 的范围内,您可以做很多事情来使其显示为一个圆圈。这里有一些方法:
- 使用
UIImageView
并将其 Image 设置为圆形图像。这很容易,但不是很灵活。 - 学习Core Graphics(也称为Quartz2D),在UIView的
-drawRect:
方法中画一个圆。Quartz 2D 编程指南 - 为 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 回答