2013-03-04 1 views
0

Этот код ниже - это то, что я использую для создания моего поднабора, «theSubview», который я добавляю к родительскому представлению «parentView».Структура UIBezierPath по какой-то причине появляется вокруг вида

Скажем parentView имеет кадр {{0,0, 0,0}, {100,0, 100,0}} и theSubview имеет раму {{20.0, 20.0}, {20,0, 20,0}}

Проблема заключается в том, что, когда мой рисунок сделан, я заканчиваю не только знаком синей стрелки, но и синим контуром, который находится на кадре вSubview.

Любые идеи, что я делаю неправильно?

Спасибо!



// theSubview 
// My UIView subclass that is added to another view 
- (id)initWithFrame:(CGRect)frame 
{ 
    self = [super initWithFrame:frame]; 
    if (self) { 
     self.backgroundColor = [UIColor clearColor]; 
     self.opaque = NO; 
    } 
    return self; 
} 

- (void)drawRect:(CGRect)rect { 

    [self drawArrow];   
} 

- (void)drawArrow {  
    CGRect arrowRect; 

    arrowRect = self.bounds; 
    UIBezierPath *arrowPath = [UIBezierPath bezierPathWithRect:arrowRect]; 

// UIColor *backgrColor = [UIColor grayColor]; 
// [backgrColor setFill]; 
// [arrowPath fillWithBlendMode:kCGBlendModeNormal alpha:0.9f]; 

    UIColor *strokeColor = [UIColor blueColor]; 
    [strokeColor setStroke]; 


    CGFloat thirdOfWidth = floorf(CGRectGetWidth(self.bounds)/3); 
    CGFloat thirdOfHeight = floorf(CGRectGetHeight(self.bounds)/3); 

    [arrowPath moveToPoint:CGPointMake(thirdOfWidth, thirdOfHeight)]; 
    [arrowPath addLineToPoint:CGPointMake(thirdOfWidth * 2, thirdOfHeight + (floorf(thirdOfHeight/2)))]; 
    [arrowPath addLineToPoint:CGPointMake(thirdOfWidth, thirdOfHeight * 2)]; 
    [arrowPath setLineWidth:3.0f]; 
    [arrowPath stroke]; 


} 

ответ

1

Duh, я понял. bezierPathWithRect фактически делает bezierPath с этим rect как путь. Прямоугольник не является рамкой, b/c bezierPath не имеет рамки. B/c это не UIView.

Изменение мой выше код для

UIBezierPath *arrowPath = [UIBezierPath bezierPath]; 

фиксирует это.

 Смежные вопросы

  • Нет связанных вопросов^_^