Programming

iOS 설정 '더 큰 텍스트' 정보 가져오기

 2017. 2. 2. 17:46
반응형

설정 > 손쉬운 사용 > 더 큰 텍스트에서 사용자가 글자 크기를 조절할 수 있다.

원래 만들었던 앱에는 고정된 폰트 크기르 사용하고 있었기 때문에, 여기서 아무리 설정해도 변화되지 않았다.



각 단계마다 고유한 이름을 String 으로 가져올 수 있다. 

String 비교해서 폰트 사이즈를 지정해주면 된다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
    NSString *textSize = [[UIApplication sharedApplication] preferredContentSizeCategory];
 
    CGFloat multiplier;
    
    if ([textSize isEqualToString:@"UICTContentSizeCategoryXS"]) {
        multiplier = -3;
    } else if ([textSize isEqualToString:@"UICTContentSizeCategoryS"]) {
        multiplier = -2;
    } else if ([textSize isEqualToString:@"UICTContentSizeCategoryM"]) {
        multiplier = -1;
    } else if ([textSize isEqualToString:@"UICTContentSizeCategoryL"]) {
        // "Normal" or middle size - use designed font sizes
        multiplier = 0;
    } else if ([textSize isEqualToString:@"UICTContentSizeCategoryXL"]) {
        multiplier = 1;
    } else if ([textSize isEqualToString:@"UICTContentSizeCategoryXXL"]) {
        multiplier = 2;
    } else if ([textSize isEqualToString:@"UICTContentSizeCategoryXXXL"]) {
        multiplier = 3;
    } else if ([textSize isEqualToString:@"UICTContentSizeCategoryAccessibilityM"]) {
        multiplier = 4;
    } else if ([textSize isEqualToString:@"UICTContentSizeCategoryAccessibilityL"]) {
        multiplier = 5;
    } else if ([textSize isEqualToString:@"UICTContentSizeCategoryAccessibilityXL"]) {
        multiplier = 6;
    } else if ([textSize isEqualToString:@"UICTContentSizeCategoryAccessibilityXXL"]) {
        multiplier = 7;
    } else if ([textSize isEqualToString:@"UICTContentSizeCategoryAccessibilityXXXL"]) {
        multiplier = 8;
    }
    
    fontSize += (multiplier * 2);
cs


참고

http://stackoverflow.com/questions/20510094/how-to-use-a-custom-font-with-dynamic-text-sizes-in-ios7

http://stackoverflow.com/questions/22085059/what-method-do-you-call-to-get-the-users-preferred-text-size




반응형