2013-08-22 2 views
1

기본적으로 UIAppearance에 대해 읽은 후 앱을 리팩터링합니다. 내 UI 변경 사항 대부분은 스토리 보드 또는 viewDidLoad에 있었고 각 컨트롤을 사용자 정의하는 것은 엉망이었습니다.UIAppearance에 대해서만 하위 클래스를 작성해야합니까?

나는 두 개의 레이블을 포함하는 셀을 가지고 있는데, 과 smallLabel을 예로 들어 보겠습니다. bigLabel을 굵게 표시하고 smallLabel을 사용하지 마십시오. this lecture에서 두 레이블을 서브 클래스하고 다른 클래스의 모양을 적용해야합니다. 그냥 다른 스토리 보드

  • 아무것도를 통해 속성을 수정

    • 서브 클래스 모두 라벨
    • :

      내 질문은 가장 적합한 연습인가?

    감사합니다.

  • 답변

    1

    아니요. 스토리 보드에서 UI를 변경하면 코드 부분이 건너 뜁니다. 이것이 글꼴, 색상 및 글꼴 크기와 같은 표준 항목에 스토리 보드를 사용하는 전체 아이디어입니다. 원하는 경우 코드로 수행 할 수 있지만 코드 및 스토리 보드로는 수행하지 않아도됩니다. 그것의 하나 또는 다른.

    1

    스토리 보드를 통해 속성을 수정하기 만하면됩니다. 왜 당신이 그것을 피할 수 있다면 서브 클래스? 또한 코드가 더 깨끗해질 것입니다.

    +0

    문제는 UIAppearance를 "무시"하는 것입니다. 즉, 글꼴을 변경하려면 코드와 스토리 보드에서 모두 변경해야합니다. 올바른 방법입니까? – DCMaxxx

    +0

    코드와 스토리 보드에서 어떻게 할 수 있습니까? - 코드가 스토리 보드의 구현을 덮어 씁니다 - 그렇습니까? 앞서 말했듯이, 그것은 하나 또는 다른 것입니다. 둘 다 아니라 – Tander

    0

    UILabel은 현재 UI_APPEARANCE_SELECTOR을 (를) 준수하지 않습니다. 머리글을 확인하십시오. 카테고리에서 이러한 속성을 재정의하고 UI_APPEARANCE_SELECTOR를 추가하는 것과 같은 몇 가지 해결 방법이 있습니다. UIAppearance 또는 스토리 보드 사용 여부를 결정하려면 컨텍스트에서 변경하는 것이 얼마나 어려울 지 평가해야합니다. 매우 간단한 앱의 경우 이는 아마도 허용 될 수 있습니다. 그러나 테마 변경과 같은 것을 구현하려고 시도했다면 상상해보십시오! 스토리 보드 설정 접근 방식은 머리글에 추상화 한 경우에도 모든보기의 코드에 내용을 설정하는 것보다 다소 빠르게 분해됩니다. 변화는 고통스럽고 매우 고통 스럽습니다.

    관련 문제