2011-12-12 3 views
0

나는 둥근 모서리가있는보기가 있습니다. 보기의 두 하단 모서리에서 둥글게하고 싶습니다. 어떻게 할 수 있습니까? 가능보기 하단에있는 setRadiusCorner

CALayer *myLayer = moreInfoView.layer; 
[myLayer setCornerRadius:20.0]; 
[view.layer setMasksToBounds:YES]; 

인가 :

이 뷰의 모서리를 둥글게 만들어 내 코드는?

감사합니다.

답변

0

CALayer로 쉽게 할 수 있다고 생각지 마십시오. NSView의 하위 클래스를 만들고 간단한 다시 그리기 루틴을 만들 수 있습니다. - 두 번째 간단한 예는 당신의 라이브 쉽게

- (void)drawRect:(CGRect)rect 
{ 
    self.layer.masksToBounds = NO; 
    self.layer.shadowColor = [[UIColor xxxx] CGColor]; 
    self.layer.shadowOffset = CGSizeMake(0,2); 
    self.layer.shadowRadius = ... 
    self.layer.shadowOpacity = ... 

    UIBezierPath *path = [UIBezierPath bezierPathWithPartiallyRoundedRect:rect 
      byRoundingCorners:UIRectCornerAllCorners cornerRadii:CGSizeMake(20, 20)]; 
    [[UIColor blackColor] setFill or Stroke]; 

    [path stroke or fill]; 
} 

에서 위의 링크 : (두 개의 베 지어 경로를 제거한 후 반올림하지 않음) 시작점으로 http://www.cocoadev.com/index.pl?RoundedRectangles를 사용하고 간단한 작업을 수행하는 가장 쉬운 방법이 될 수 있습니다 - 두 가지를 'lineToPoint : path'경로로 만들 수 있습니다.

+0

감사 더크! 하지만 구현하기가 어렵습니다. 모든 xcode 항목에 미안합니다 :) xib 파일과 "moreInfoView"라는 뷰의 변수에 그래픽으로 만든보기가 있습니다. 어떻게 할 수 있을까요? 감사 –

3

라운드에만 UIRectCornerBottomLeftUIRectCornerBottomRight 코너 :

UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:yourView.bounds 
              byRoundingCorners:(UIRectCornerBottomLeft | UIRectCornerBottomRight) 
               cornerRadii:CGSizeMake(5.0, 5.0)]; 

CAShapeLayer *layer = [CAShapeLayer layer]; 
layer.frame = yourView.bounds; 
layer.path = path.CGPath; 
yourView.layer.mask = layer;