我试图在视图的中间绘制一个透明的正方形(仅边界),但是我很难找到方法。我认为我有两个问题,第一个问题是绘制带有黑色边框的透明正方形,第二个问题是将其放在视图中间。
有什么好的教程要遵循吗?
更新
我尝试遵循Apple教程,并且有一段代码在视图控制器内绘制矩形:
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 2.0);
CGContextSetStrokeColorWithColor(context, [UIColor blueColor].CGColor);
CGRect rectangle = CGRectMake(60,170,200,80);
CGContextAddRect(context, rectangle);
CGContextStrokePath(context);
但是我找不到如何将其添加到特定视图或视图中心。
最佳答案
我认为您可能想对有问题的UIView进行子类化并重写其drawRect:
- (void)drawRect:(CGRect)rect
请务必致电:
[super drawRect:rect];
然后,您想在绘图代码中使用相对于您正在绘制的视图的大小的坐标。
这样您会得到更多类似的信息:
- (void)drawRect:(CGRect)rect
{
[super drawRect:rect];
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 2.0);
CGContextSetStrokeColorWithColor(context, [UIColor blueColor].CGColor);
CGFloat width = 200;
CGFloat height = 80;
CGFloat x = (self.frame.size.width - width) * 0.5f;
CGFloat y = (self.frame.size.height - height) * 0.5f;
CGRect rectangle = CGRectMake(x, y, width, height);
CGContextAddRect(context, rectangle);
CGContextStrokePath(context);
}
关于objective-c - 在屏幕中间绘制一个正方形边框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13036214/