2013-06-04 3 views
-2

여러 이미지가 있습니다. 사용자가 특정 이미지를 선택하면 맨 위에 화살표가있는보기로 해당 이미지를 강조 표시해야합니다. 상단에 예리한 화살표가있는 이미지를 사용하여 간단하게 해결되지만 uiview를 사용하여 달성하고 싶습니다. iPhone의 코어 그래픽을 사용하여 UIView의 중간 상단에 날카로운 화살표 모서리를 만드는 방법. 아이 패드의 popover 날카로운 화살촉처럼.iPhone에서 UIView의 중간에 날카로운 모서리를 만드는 방법

누구든지 나를 도와 줄 수 있습니다. 미리 감사드립니다.

+0

예를 들어 이미지를 제공하고 GitHub의에 타사 솔루션을 사용할 수없는 이유를 설명해주십시오. – Maarten

+0

나는 이미지를 게시하는 데 충분한 명성을 얻지 못했다 .. – Venki

+0

왜 내가 downvotes을 얻고 있는지 이해할 수 없다. 내 질문이 좋지 않다면 나에게 제안한다. 내 질문에 대해 downvote하지 마라. 고마워. – Venki

답변

10

예, 당신의 UIView를 사용하여이 작업을 수행 할 수 있습니다. 당신이 그런 그래픽 컨텍스트의 경로를 추가하고 당신이 원하는 색상을 것입니다 기입

UIBezierPath를 사용하여 원하는 경로를 만듭니다.

샘플 코드의 뜻은 다음과 같다 : 코드 위

#define kArrowHeight 50 

- (void)drawRect:(CGRect)rect 
{ 
    CGContextRef context = UIGraphicsGetCurrentContext(); 

    UIBezierPath *fillPath = [UIBezierPath bezierPath]; 
    [fillPath moveToPoint:CGPointMake(0, self.bounds.origin.y+kArrowHeight)]; 
    [fillPath addLineToPoint:CGPointMake(self.bounds.size.width/2-(kArrowHeight/2), kArrowHeight)]; 
    [fillPath addLineToPoint:CGPointMake(self.bounds.size.width/2, 0)]; 
    [fillPath addLineToPoint:CGPointMake(self.bounds.size.width/2+(kArrowHeight/2), kArrowHeight)]; 
    [fillPath addLineToPoint:CGPointMake(self.bounds.size.width, kArrowHeight)]; 
    [fillPath addLineToPoint:CGPointMake(self.bounds.size.width, self.bounds.size.height)]; 
    [fillPath addLineToPoint:CGPointMake(0, self.bounds.size.height)]; 
    [fillPath closePath]; 

    CGContextAddPath(context, fillPath.CGPath); 
    CGContextSetFillColorWithColor(context, [UIColor greenColor].CGColor); 
    CGContextFillPath(context); 

} 

는 당신에게 다음과 같은 팝 오버, 모양의 UIView의 중앙에 날카로운 모서리를 포함하는 뷰를 제공 할 것입니다.

enter image description here

는 참고 :

  • 당신은 당신의 요구 사항에 따라 경로를 변경할 수 있습니다.
  • 배경색은 깨끗한 색이어야합니다.
+0

draw rect를 어떻게 불러야할까요?ViewDidLoad에서 호출하고 뷰의 프레임을 전달하겠습니까? – stumped

+0

명시 적으로 그리기 rect 메서드를 호출 할 필요가 없습니다. –

+0

당신은 나를 도울 수 있습니까, 아래쪽 화살표로 그것을 그리는 방법 .. ?? –

0

iPad 용 앱인 경우 uipopovercontroller를 사용할 수 있습니다. 다른 아이폰에 대한 u는 github에

+0

감사 감사 you..But 그때 우리 내가 하나의 UIView를 사용할 필요가 you..But 감사 GitHub의 – Venki

+0

를 UIView의를 사용해야합니다 coregraphics를 사용하여 가능할 수 있습니다 ..하지만 그런 출력을 얻으려면 coregraphics를 사용하는 방법을 얻지 못 하겠어요 .. –

0

당신은 컨테이너로의 UIView를 사용할 수에 다양한 컨트롤을 발견하고 투명 UIView의 배경을 설정할 수 있습니다. 그런 다음 컨테이너에 하위 UIView를 추가하고 위쪽 가장자리에 화살표 (UIImageView)를 추가합니다.

+0

에서 TSpopover 제어 ... 내가 그것을 생각 .. popovers보다는 – Venki

관련 문제