我试图在视图的中间绘制一个透明的正方形(仅边界),但是我很难找到方法。我认为我有两个问题,第一个问题是绘制带有黑色边框的透明正方形,第二个问题是将其放在视图中间。

有什么好的教程要遵循吗?

更新

我尝试遵循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/

10-14 20:13
查看更多