2017-11-19 9 views
1

다음 코드는 iOS11에서 사용자가 내게 필요한 옵션 설정에서 LARGE FONT를 설정했는지 감지하는 데 유용합니다.iOS 10의 traitCollection.preferredContentSizeCategory.isAccessibilityCategory

그러나 iOS10에서도이 기능을 지원해야합니다. 이것을 어떻게 할 수 있습니까?

는 현재 코드는 다음과 같습니다

if #available(iOS 11.0, *) { 
    if traitCollection.preferredContentSizeCategory.isAccessibilityCategory { 
     return UITableViewAutomaticDimension 
    } else { 
     return someSpecificHeight 
    } 
} else { 
    // how to detect is isAccessibilityCategory on non-iOS11 devices? 
    // is there some ugly fallback I don't know about? 
} 
+0

라벨에 높이 제약이없고 셀의 제약 조건이 올바르게 설정되어 있으면 라벨이 텍스트의 크기에 맞 춥니 다. – EmilioPelaez

답변

1

나는이 작업을 수행 할 수있는 것처럼 Jefflovejapan의 대답은, 보이는 @ 기반으로, 좋아 ..

let sizeCategory = traitCollection.preferredContentSizeCategory 

     if sizeCategory == .accessibilityMedium 
    || sizeCategory == .accessibilityLarge 
    || sizeCategory == .accessibilityExtraLarge 
    || sizeCategory == .accessibilityExtraExtraLarge 
    || sizeCategory == .accessibilityExtraExtraExtraLarge { 
      return UITableViewAutomaticDimension 
     } else { 
      return someSpecificHeight 
     } 

이 미운,하지만 난 그게 트릭을 수행 생각

나는 모든 == 비교를 할 필요가

이는 iOS10에서 유일하게 지원되는 연산자처럼 보입니다 (다른 모든 것들은 분명히 iOS11에 추가됩니다)

1

그것은 looks like.accessibilityMedium 그래서 어쩌면 당신의 임계 값이 될 수 .extraExtraExtraLarge에서 다음 크기까지이다.

+0

감사합니다. - 방금 전 게시했습니다. 귀하의 의견은 매우 도움이되었습니다. – Jeff