iOS는 어떠한 최적 프레임 없이 화면 맞춤

1486 단어
화면 어울림에 대해서 다들 아시겠지만 자동 레이아웃을 사용할 수 있습니다. 만약에 순수한 코드라면 제3자 프레임워크 Masonry를 사용할 수 있지만 어떤 분들은 제3자 프레임워크를 좋아하지 않으시면 어떡하죠?
군형이 오늘 여러분에게 제3자 프레임을 사용하지 않아도 각종 스크린에 어울릴 수 있는 방식을 추천합니다
그러나 이런 방식의 전제는 반드시 순수 코드를 사용해야 하며 모든 인터페이스는 순수 코드를 사용해야 한다
이런 방식의 중심 사상은 서로 다른 스크린의 너비와 높이에 따라 그 중의 비례를 산출한 다음에 서로 다른 스크린의 너비와 높이에 따라 자동적으로✖️비례
  • 1.PCH 정의
  • //     
    #define XMGHeight [UIScreen mainScreen].bounds.size.height
    //     
    #define XMGWidth [UIScreen mainScreen].bounds.size.width
    //  iPhone5   (UI         iPhone5 ),       ,       7P(6P)     ,           ,         ,             
    #define XMGiPhone5W 320.0
    #define XMGiPhone5H 568.0
    //     
    // x   1.293750  iPhone7    
    #define XMGScaleX XMGWidth / XMGiPhone5W
    // y   1.295775
    #define XMGScaleY XMGHeight / XMGiPhone5H
    // X  
    #define LineX(l) l*XMGScaleX
    // Y  
    #define LineY(l) l*XMGScaleY
    //   
    #define Font(x) [UIFont systemFontOfSize:x*XMGScaleX]
    
  • 2.그리고 다른 클래스에서 사용할 수 있습니다. 예를 들어 button을 만듭니다:
  • UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(LineX(20), LineY(20), LineX(100), LineY(30))];
        [self.view addSubview:btn];
        btn.backgroundColor = [UIColor redColor];
        [btn setTitle:@"   " forState:UIControlStateNormal];
        btn.titleLabel.font = Font(14);
    

    코드 예
    자, 여러분 한번 해 보셔도 됩니다. 물론 저는 지금 아이폰5를 예로 들 수 있습니다. 구체적인 전제는 미용실에서 그림을 그릴 때 큰 화면이 필요한 그림입니다. 즉 7P(6P)의 그림 설계도는 아이폰5를 예로 들 수 있습니다. 물론 당신도 지속적으로 업데이트하고 실용적인 건제품을 수정할 수 있습니다. 주목해 주십시오.

    좋은 웹페이지 즐겨찾기