cornerRadius로 인해 iOS 10에서로드 시간이 길어짐

NG_Loc

내 앱에 문제가 있습니다. cornerRadius가 변경된 25 개의 버튼이있는 뷰가 있습니다. iOS 10부터이 뷰가로드 될 때까지 약 5-6 초가 걸립니다. 다음은 관련 코드입니다.

- (void)setupTiles {
 for (TileButton *btn in tiles_btn) {
  btn.alpha = 0.0;
  btn.layer.borderColor = [UIColor blackColor].CGColor;
  btn.layer.borderWidth = 1.0f;
  [btn layoutIfNeeded];
  bin.layer.cornerRadius = btn.frame.size.width*0.3;
 }
 [self colorTilesWithArray:currentTileColors];
}

다음 줄을 제거하면 뷰가 즉시로드됩니다.

[btn layoutIfNeeded];
bin.layer.cornerRadius = btn.frame.size.width*0.3;

버튼은 알아야 할 경우를 대비하여 콘센트 컬렉션으로 그룹화됩니다.

아무도 해결책이 있습니까? 미리 감사드립니다!

니코

이미지 1 : 약 5 ~ 6 초 소요

이미지 2 :로드 될 뷰입니다.

TileButton.h- 파일 :

@interface TileButton : UIButton

@property (nonatomic) int colorMode;

+ (UIColor *)blue;
+ (UIColor *)red;
+ (UIColor *)green;
+ (UIColor *)yellow;
+(UIColor *)colorForColorCode:(int)colorCode;
-(int)colorMode;

@end

TileButton.m- 파일 :

@implementation TileButton
- (instancetype)init {
self = [super init];
if (self) {
    self.layer.cornerRadius = self.frame.size.width*0.3;
}
return self;
}

+(UIColor *)blue {
return [UIColor colorWithRed:41.0/255.0 green:161.0/255.0 blue:255.0/255.0 alpha:1];
}

+(UIColor *)red {
return [UIColor colorWithRed:255.0/255.0 green:71.0/255.0 blue:109.0/255.0 alpha:1];
}

+(UIColor *)green {
return [UIColor colorWithRed:0.0/255.0 green:185.0/255.0 blue:30.0/255.0 alpha:1];
} 

+(UIColor *)yellow {
return [UIColor colorWithRed:255.0/255.0 green:198.0/255.0 blue:26.0/255.0 alpha:1];
} 

+(UIColor *)colorForColorCode:(int)colorCode {
switch (colorCode) {
    case 1:
        return [TileButton blue];
        break;
    case 2:
        return [TileButton red];
        break;
    case 3:
        return [TileButton green];
        break;
    case 4:
        return [TileButton yellow];
        break;
    default:
        return [UIColor blackColor];
        break;
}
}

-(int)colorMode {
if (CGColorEqualToColor(self.backgroundColor.CGColor, [TileButton blue].CGColor))
    return 1;
else if (CGColorEqualToColor(self.backgroundColor.CGColor, [TileButton red].CGColor))
    return 2;
else if (CGColorEqualToColor(self.backgroundColor.CGColor, [TileButton green].CGColor))
    return 3;
else if (CGColorEqualToColor(self.backgroundColor.CGColor, [TileButton yellow].CGColor))
    return 4;
else
    return -1;
}

@end
werm098

Interface Builder에서 버튼을 생성하고 cornerRadius있으므로 awakeFromNib메소드 에서 를 설정해야합니다 . 다음과 같이 보일 것입니다.

@implementation TileButton
-(void) awakeFromNib {
     [super awakeFromNib];
     self.layer.cornerRadius = self.frame.size.width*0.3;
}

https://developer.apple.com/reference/objectivec/nsobject/1402907-awakefromnib

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Windows 네트워크 복사로 인해 대기 시간이 길어짐

분류에서Dev

데이터 잘림 : 데이터가 열에 대해 길어짐

분류에서Dev

18.04를 새로 설치 한 후 Ubuntu가 응답하지 않고 대기 시간이 길어짐

분류에서Dev

Angular ng-pattern으로 인해 바인딩이 끊어짐

분류에서Dev

Redis RENAME로 인해 지연 시간이 길어지는 이유는 무엇입니까?

분류에서Dev

Redis RENAME로 인해 지연 시간이 길어지는 이유는 무엇입니까?

분류에서Dev

Aurelia i18n 언어 간 전환으로 인해보기 다시로드 속도가 느려짐

분류에서Dev

Qt Creator-Windows에서 빌드 기간이 길어짐

분류에서Dev

C ++ 실행으로 인해 모니터 연결이 끊어짐

분류에서Dev

iOS : 동적 길이 텍스트로 디자인하려면 어떻게해야합니까?

분류에서Dev

데비안 서버로 인해 인터넷 연결이 끊어짐

분류에서Dev

시간 초과로 인해 dispatch_group_wait () 반환시 iOS 8에서 충돌

분류에서Dev

속도 제한 플러그인으로 인해 Kong API 게이트웨이 뒤에 등록 된 API에 대한 응답 시간이 길어 집니까?

분류에서Dev

setOpaque (false) 메서드로 인해 JPanel이 계속해서 다시 그려 짐

분류에서Dev

setOpaque (false) 메서드로 인해 JPanel이 계속해서 다시 그려 짐

분류에서Dev

텍스트 길이가 늘어 나면 오버플로가 숨겨 짐 jquery

분류에서Dev

iOS에서 특정 날짜 및 시간에 이미지로드

분류에서Dev

Windows 10에서 간헐적으로 시스템 인터럽트를 일으키는 하드웨어 확인

분류에서Dev

주 스레드 차단으로 인해 iOS 8에서 앱이 중단됨

분류에서Dev

SVG 드롭 섀도우로 인해 Firefox에서 PNG 이미지가 사라짐

분류에서Dev

iOS 10에서 잘못된 nonce-count로 인해 HTTP 다이제스트 인증이 실패 함

분류에서Dev

대학 Wi-Fi의 '유휴'로 인해 Wi-Fi 연결이 끊어짐

분류에서Dev

JavaScript에서 업로드 된 비디오의 길이 / 시간을 확인하는 방법

분류에서Dev

UIActionSheet에서 iOS 앱이 뱉어 짐

분류에서Dev

Flatlist maintainVisibleContentPosition으로 인해 iOS에서 즉시 충돌이 발생합니다.

분류에서Dev

어떻게 인간 [안드로이드 스튜디오]에 의해 문자열 읽기에 ISO 8601 시간을 변환하는?

분류에서Dev

이 Powershell 코드 스 니펫의 어떤 부분으로 인해 실행 시간이 오래 걸리나요?

분류에서Dev

CSS로 페이지로드시 헤드 라인을 페이드 인하 고 매우 약간 위로 이동하려면 어떻게해야합니까?

분류에서Dev

자신의 작업 공간 (작업 공간 1이 아닌)에서 i3 로그인시 HexChat을 시작하려면 어떻게해야합니까?

Related 관련 기사

  1. 1

    Windows 네트워크 복사로 인해 대기 시간이 길어짐

  2. 2

    데이터 잘림 : 데이터가 열에 대해 길어짐

  3. 3

    18.04를 새로 설치 한 후 Ubuntu가 응답하지 않고 대기 시간이 길어짐

  4. 4

    Angular ng-pattern으로 인해 바인딩이 끊어짐

  5. 5

    Redis RENAME로 인해 지연 시간이 길어지는 이유는 무엇입니까?

  6. 6

    Redis RENAME로 인해 지연 시간이 길어지는 이유는 무엇입니까?

  7. 7

    Aurelia i18n 언어 간 전환으로 인해보기 다시로드 속도가 느려짐

  8. 8

    Qt Creator-Windows에서 빌드 기간이 길어짐

  9. 9

    C ++ 실행으로 인해 모니터 연결이 끊어짐

  10. 10

    iOS : 동적 길이 텍스트로 디자인하려면 어떻게해야합니까?

  11. 11

    데비안 서버로 인해 인터넷 연결이 끊어짐

  12. 12

    시간 초과로 인해 dispatch_group_wait () 반환시 iOS 8에서 충돌

  13. 13

    속도 제한 플러그인으로 인해 Kong API 게이트웨이 뒤에 등록 된 API에 대한 응답 시간이 길어 집니까?

  14. 14

    setOpaque (false) 메서드로 인해 JPanel이 계속해서 다시 그려 짐

  15. 15

    setOpaque (false) 메서드로 인해 JPanel이 계속해서 다시 그려 짐

  16. 16

    텍스트 길이가 늘어 나면 오버플로가 숨겨 짐 jquery

  17. 17

    iOS에서 특정 날짜 및 시간에 이미지로드

  18. 18

    Windows 10에서 간헐적으로 시스템 인터럽트를 일으키는 하드웨어 확인

  19. 19

    주 스레드 차단으로 인해 iOS 8에서 앱이 중단됨

  20. 20

    SVG 드롭 섀도우로 인해 Firefox에서 PNG 이미지가 사라짐

  21. 21

    iOS 10에서 잘못된 nonce-count로 인해 HTTP 다이제스트 인증이 실패 함

  22. 22

    대학 Wi-Fi의 '유휴'로 인해 Wi-Fi 연결이 끊어짐

  23. 23

    JavaScript에서 업로드 된 비디오의 길이 / 시간을 확인하는 방법

  24. 24

    UIActionSheet에서 iOS 앱이 뱉어 짐

  25. 25

    Flatlist maintainVisibleContentPosition으로 인해 iOS에서 즉시 충돌이 발생합니다.

  26. 26

    어떻게 인간 [안드로이드 스튜디오]에 의해 문자열 읽기에 ISO 8601 시간을 변환하는?

  27. 27

    이 Powershell 코드 스 니펫의 어떤 부분으로 인해 실행 시간이 오래 걸리나요?

  28. 28

    CSS로 페이지로드시 헤드 라인을 페이드 인하 고 매우 약간 위로 이동하려면 어떻게해야합니까?

  29. 29

    자신의 작업 공간 (작업 공간 1이 아닌)에서 i3 로그인시 HexChat을 시작하려면 어떻게해야합니까?

뜨겁다태그

보관