2013-05-10 4 views
2

사각형의 모양을 사각형으로 바꿀뿐입니다. 내가 cornerRadious와 함께 노력하지만, 단지 모퉁이 만 돌면됩니다. 나는 전체적인 모습을 둥근 모양으로 만들고 싶다.모든보기의 둥근 모양을 만드는 방법

+0

은 당신이하지 않을 경우 모서리 무엇을 의미합니까 가져 잊지 마세요? –

+0

가능한 중복 [순환 식 UIView 만드는 방법] (http://stackoverflow.com/questions/1878595/how-to-make-a-circular-uiview) –

+0

우리가 어떤 view 또는 imageview보다 얻을 경우, 기본값을 구입하십시오. 그것의 사각형 모양에서. 그렇다면 우리는 어떻게 구석이없는 둥근 모양으로 만들 수 있습니까? 마치보기의 크기가 매우 높은 것처럼 모서리가 짙은 원형의 형태는 아닙니다. 그래서 저는 뷰를 다시 그리고 둥근 모양으로 만들고 싶습니다. – Nirmalsinh

답변

5

UIView는 항상 직사각형입니다. 그러나 은 마스크로 원형 (또는 실제로는 모든 모양)으로 표시 할 수 있습니다. 이렇게하려면 검정색 원 (투명한 배경) 인 UIImage를 만듭니다. 이제 UIImage의 CGImage를 가져 와서 CALayer의 내용으로 만드십시오. 마지막으로 CALayer를보기 레이어의 mask으로 설정합니다.

우리가보기 그런 다음 100 × 100이라고 가정하자 (테스트하지,하지만 거의 잘해야한다) :

UIGraphicsBeginImageContextWithOptions(CGSizeMake(100,100), NO, 0); 
CGContextRef c = UIGraphicsGetCurrentContext(); 
CGContextSetFillColorWithColor(c, [UIColor blackColor].CGColor); 
CGContextFillEllipseInRect(c, CGRectMake(0,0,100,100)); 
UIImage* maskim = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

CALayer* mask = [CALayer new]; 
mask.frame = CGRectMake(0,0,100,100); 
mask.contents = (id)maskim.CGImage; 

view.layer.mask = mask; 
+0

Storyboard에서이를 수행하는 방법 (예 : UIView를 마스크하여 원형으로 표시)이 있습니까? 아니면 프로그래밍 방식으로 수행해야합니까? – Crashalot

1

이 코드를 사용해보십시오 : -

[roundView.layer setCornerRadius:50.0f]; 
[roundView.layer setBorderColor:[UIColor lightGrayColor].CGColor]; 
[roundView.layer setBorderWidth:1.5f]; 
[roundView.layer setShadowColor:[UIColor blackColor].CGColor]; 
[roundView.layer setShadowOpacity:0.8]; 
[roundView.layer setShadowRadius:3.0]; 
[roundView.layer setShadowOffset:CGSizeMake(2.0, 2.0)]; 

참고 : - roundView는보기를 반올림하려는 것입니다.

도움이되기를 바랍니다. 감사합니다

2

이 방법으로 모든 컨트롤의 테두리 폭 둥근 테두리를 만들 수 있습니다 -

CALayer * l1 = [viewPopup layer]; 
[l1 setMasksToBounds:YES]; 
[l1 setCornerRadius:5.0]; 

// You can even add a border 
[l1 setBorderWidth:5.0]; 
[l1 setBorderColor:[[UIColor darkGrayColor] CGColor]]; 



은 그냥 제어 viewPopup를 교체합니다.

참고 : - <QuartzCore/QuartzCore.h>

관련 문제