2012-12-06 2 views
10

방금 ​​UILabel 구성 요소를 뷰에 추가했으며 둥근 모서리 UILabel로 만들려고합니다. 나는 같은 문제와 관련된 몇 가지 질문과 대답을 읽었지만 모두 소스 코드를 변경해야한다고 말한다. 새로운 Xcode 4.5와 iOS6에서 정말 필요한가요? 또한 mainstoryboard에서 생성 된 코드를 볼 수 있는지 잘 모르겠습니다.둥근 모서리가있는 UILabel (Xcode 4.5 및 iOS 6)

도움이 될 것입니다. ,

#import <QuartzCore/QuartzCore.h> 

는 당신은

yourLabel.layer.cornerRadius = 5; 

5 단지 예입니다 귀하의 UILabel의 참조해야합니다 :

많은 감사, 마르코스

+0

동의하시기 바랍니다 내 또는 그들이 당신을 도움이 있다면 이스마엘의 대답.나는 나의 평판과 이스마엘을 얻고 싶다. 나는 확신한다. –

답변

11

는 다음을 수행 둥근 모서리와 UILabel의 만들려면 물론

+0

많은 감사. 마지막 질문 하나만 :이 코드를 추가 할 구체적인 위치가 있습니까? Xcode Interface Builder에서 생성 된 코드에 액세스 할 수 있는지 확실하지 않습니다. 이 코드를 추가해야하는 컨트롤러에 특별한 방법이 있습니까? – vilelam

+0

글쎄, IB에서 만든 변수 UILabel *을 콘센트 변수에 연결해야합니다. 그리고이 변수의 코너 반경을 원하는대로 지정할 수 있습니다. viewDidLoad 또는 viewWillAppear 잘 작동해야합니다 –

1

당신은 #import "QuartzCore/QuartzCore.h"해야합니다. 어딘가에 당신의 코드에

label.layer.cornerRadius = 2.0; // or whatever radius you want 
+0

많은 감사드립니다. 마지막 질문 하나만 :이 코드를 추가 할 구체적인 위치가 있습니까? Xcode Interface Builder에서 생성 된 코드에 액세스 할 수 있는지 확실하지 않습니다. 이 코드를 추가해야하는 컨트롤러에 특별한 방법이 있습니까? – vilelam

+0

그것은 당신의 세포가 어디에 있느냐에 달려 있습니다. 컨트롤러에 대한 참조가 필요하며 인터페이스 빌더에서 만든 것이라면 viewDidLoad 메소드에 이것을 추가해야합니다 – Ismael

+0

아주 좋습니다! 나는 그 일을 할 수 있었다. viewDidLoad 메서드에 코드를 추가하고 원활하게 작동합니다. – vilelam

-1

예, 그것은 단지 여기에 다른 사람에 의해 언급, 추가 코드를 통해 수행 할 수 있습니다 않습니다. 안타깝게도 Interface Builder는 지금 그것을 할 수 없습니다.

+0

Xcode 4.5에서 @PradeepReddyKypa? –

12

인터페이스 빌더에서 모두 수행 할 수 있습니다.
XCode에서 Interface Builder를 열려면 .xib 파일 (또는 스토리 보드)을 선택하십시오. 당신의 UILabel 클릭하고 신원 관리자를 엽니 다 (당신이 어디 있는지 모르는 경우, 엑스 코드의 도움말 메뉴로 가서 "신원 관리자"를 입력). 사용자 정의 런타임에서 플러스 버튼을 창 속성 클릭하고 키 경로에 대한 layer.cornerRadius 쓰기의 유형에 대한 Number5 (또는 다른 번호)를 선택했다.
프로젝트를 지금 실행하면 둥근 모양의 UILabel을 얻어야합니다.

+2

"clip subviews"가 체크 된 경우에만 작동합니다 (Xcode 6에 있음) – mnl

1

인터페이스 빌더에서 'Identity Inspector'의 'User Defined Runtime Attributes'에 key.cornerRadius를 추가하여이 작업을 수행 할 수 있습니다.

1

프로젝트에 quartzcore 프레임 워크를 추가

import "QuartzCore/QuartzCore.h" 

사용 다음 코드 프레임 워크 - 내가 (스위프트와) 새로운 개발 환경을 위해 할 수있는 약간 더 좋은 방법을 공유 할 것이라고 생각

label.layer.cornerRadius = 2.0; // radius depend on how much rounded corner you want. 
label.clipsToBounds = TRUE; 
0

을 . 다음 코드를 사용하면 코너 빌더를 설정할 수있는 Interface Builder에 특별한 필드가 나타납니다. 새로운 항은 "모서리 반경"라고하는 항목이있는에, "보기"라는 속성 검사기 내에서 나타납니다

#if !os(watchOS) 
    // watchOS UI designer allows setting of a corner radius. For 
    // iOS and tvOS, an Interface Builder extension is needed. 
    extension UIView { 
     @IBInspectable var cornerRadius: CGFloat { 
      get { 
       return layer.cornerRadius 
      } 
      set { 
       layer.cornerRadius = newValue 
       layer.masksToBounds = newValue > 0 
      } 
     } 
    } 
#endif