2015-01-26 3 views

답변

0

1) 클래스를 서브 클래스 화하고 UIAppearance 코너 반경 속성을 추가하십시오. 이것은 다른 코너 반경 값을 가진 다른 뷰 컨트롤러에서 사용할 수있는 재사용 가능한 클래스를 제공합니다. 새 항목을 추가 할 때는 3 개의 새 클래스를 만들어야하고 Interface Builder에 모든 클래스를 설정해야합니다.

2) 모든 뷰가 동일한 뷰에 포함되어 있다고 가정하면 모든 하위 뷰를 반복하고 클래스를 확인할 수 있습니다. 중첩 된 뷰를 사용하여 끝내면 해당 하위 뷰도 확인해야합니다. 가장 깨끗한 것은 아니지만 간단한보기라면 좋은 옵션입니다.

for (UIView *view in self.view.subviews) 
{ 
    if ([view isKindOfClass:[UILabel class]] || [view isKindOfClass:[UIButton class]] || [view isKindOfClass:[UITextField class]]) 
    { 
     view.layer.cornerRadius = 10.f; 
    } 
} 

3) 당신은 클래스를 확인하지 않고 같은 방법으로 그것을 통해 IBOutletCollection 및 루프를 만들 수 있습니다. 시간이 지남에 따라 항목을 추가/제거하면 성가 시게됩니다.

+0

완벽! 이 우수한 코드를 주셔서 감사합니다 ... 나는 layer.masksToBounds = YES 만 추가했습니다. 그게 다야. – Daniela

0

IBOutletCollection에 모두 넣을 수 있습니다. 이는 Interface Builder를 통해 생성 된 배열입니다. 콘센트를 만드는 방법과 마찬가지로 나타나는 팝업에서 콘센트 컬렉션을 선택하십시오. 그런 다음 반복 할 다른 모든 UI 항목을 드래그합니다. 컬렉션의 모든 항목은 동일한 유형이어야합니다. 라벨과 버튼이 있다면 각 컬렉션에 대해 별도의 컬렉션이 필요합니다.

또는 각 유형의 코너 반경이 설정된 별도의 하위 클래스를 만들 수도 있습니다 (분명히 그렇게 자주 컨트롤 스타일을 사용하고 있으므로 인터페이스 작성기에서 해당 클래스를 사용하십시오).

+0

iboutletcollection으로 당신의 힌트를 주셔서 감사합니다 ... – Daniela

관련 문제