2012-08-23 23 views
5

mam toJak zdobyć obramowanie na UIBezierPath

CGRect container = CGRectMake(conX, conY, 220, 50); 
    UIBezierPath* path = [UIBezierPath bezierPathWithRoundedRect:container cornerRadius:5.0]; 
    [[UIColor blueColor] setFill]; 
    [path fillWithBlendMode:kCGBlendModeNormal alpha:0.7]; 

Chcę dostać szarą próbnika wokół niego, spojrzał na wiele rzeczy w Internecie, ale nie widzę sposobu, aby to zrobić łatwo, Czy to możliwe?

Odpowiedz

17

Jeśli nie sprzeciwia się użyciu warstw, coś takiego może pracować dla Ciebie:

//create triangle path 
UIBezierPath* path = [UIBezierPath bezierPath]; 
[path moveToPoint:CGPointMake(0, 30)]; 
[path addLineToPoint:CGPointMake(100, 30)]; 
[path addLineToPoint:CGPointMake(100, 0)]; 
[path addLineToPoint:CGPointMake(0, 30)]; 

//apply path to shapelayer 
CAShapeLayer* greenPath = [CAShapeLayer layer]; 
greenPath.path = path.CGPath; 
[greenPath setFillColor:[UIColor greenColor].CGColor]; 
[greenPath setStrokeColor:[UIColor blueColor].CGColor]; 
greenPath.frame=CGRectMake(0, 0,100,30); 

//add shape layer to view's layer 
[[self layer] addSublayer:greenPath]; 
+0

Hmm to nie wszystko rysunek w ogóle ..? – Baconbeastnz

+2

czy dodałeś warstwę? – Brian

+0

ah teraz dziękuję pracy :) – Baconbeastnz