drawRect行在不同的屏幕大小上移动

时间:2014-05-11 16:01:28

标签: ios objective-c drawrect

我使用drawRect创建。基于" 4英寸屏幕"我的线是正确的地方。在" 3.5英寸屏幕上运行"这条线路较低,位置错误。

- (void)drawRect:(CGRect)rect
{
    CGContextRef firstLine = UIGraphicsGetCurrentContext();
    CGContextMoveToPoint(firstLine, 15, 389);
    CGContextAddLineToPoint(firstLine, 320, 389);
    CGContextStrokePath(firstLine);
    CGContextSetLineWidth(firstLine, 1.1);
}

我知道我需要对self.frame.heigh做些什么才能让屏幕尺寸变得动态,但不知道放在哪里。

1 个答案:

答案 0 :(得分:1)

每次绘制时获取视图边界的高度,你就可以了。

- (void)drawRect:(CGRect)rect
{
   /* Get the height of the view */
    float height = CGRectGetHeight(self.bounds);
  /* the amount to inset the line by */
    float lineInset = 20;
 /* y-position after insetting the line */
    float yPosition = height - lineInset;
    CGContextRef firstLine = UIGraphicsGetCurrentContext();
    CGContextMoveToPoint(firstLine, 15, yPosition);
    CGContextAddLineToPoint(firstLine, 320, yPosition);
    CGContextSetLineWidth(firstLine, 1.1);
    CGContextStrokePath(firstLine);
}