2017-11-27 31 views
2

몇 가지 인기있는 앱을 보았습니다. iPhone Plus 장치와 일반 장치를 비교할 때 글꼴과 이미지는 다양합니다. iPhone Plus 기기에서 조금 더 커졌습니다. iOS 응용 프로그램에서 어떻게 동일한 결과를 얻을 수 있습니까? 이미 스플래시 화면을 사용했습니다. 그러나 여전히 글꼴은 같고 플러스 및 일반 장치에는 차이가 없습니다.Swift에서 더하기 장치의 글꼴 및 크기를 늘리는 방법은 무엇입니까?

참고 : 해상도를 구분하여 코딩이 잘 작동합니다. 하지만 적응 형 레이아웃이나 화면 실행과 같은 다른 대안을 찾고 있습니다.

+0

프로젝트에서 큰 글꼴을 사용하고 자동 축척으로 줄 수를 설정하면 글꼴 크기를 통해 글꼴 크기를 줄일 수 있습니다 – Tj3n

+1

보관할 크기 클래스를 사용할 수 있습니다 –

+0

@SagarBhut 저를 도울 수 있습니까? , 크기 클래스로 달성하는 방법. – srinadh

답변

1

인터페이스 빌더 (xib 또는 스토리 보드)를 사용하여 수행 할 수 있습니다!

라벨 또는 텍스트 입력란 등을 선택하고 으로 이동하십시오.

font 근처에 버튼을 클릭하고이를 클릭 한 다음 변형 (크기 클래스)을 선택하고 해당 크기 클래스에 대해 다른 글꼴을 설정하십시오.

더 나은 이해를 위해 아래 스크린 샷을 참조하십시오

enter image description here

참조 : 예를 들어이 변화 또는 크기 클래스는 세로 모드에서 모든 아이폰을위한 Compact width, Regular height를 들어 Size classes in Interface Builder in Xcode 8

!

크기 클래스에 대한 자세한 내용은 Apple documentation을 참조하십시오!

두 번째로 할 수있는 일은 autoshrink에서 minimum font scale으로 설정하고 글꼴 크기를 0 to 1 사이로 설정합니다.

으로 설정 한 다음 인터페이스 작성기에서 더 큰 글꼴 (앱의 최대 글꼴 크기 또는 앱에 표시 할 최대 글꼴 크기)을 설정하십시오. 이제 앱이 작은 크기의 기기에서 열리면 글꼴 크기가 최소 축척 비율로 줄이려고합니다. 예를 들어 스케일 팩터 0.5을 설정하고 스토리 보드에서 글꼴 크기가 100이면 작은 장치에서 레이블 또는 텍스트 필드에 맞게 글꼴 크기를 50 줄이려고합니다.

enter image description here

+0

w : R h : R은 iPhone 용이 아니며, iPad pro를 나타냅니다. 하지만 아이폰과 인물 모드가 필요합니다. iPhone 프리젠 테이션 모드에 대한 크기 클래스는 있지만 세로 모드는 아닙니다. – srinadh

+0

w : C, h : R은 세로 모드에서 아이폰입니다! – Lion

+0

w : C, h : R은 모든 iPhone에서 공통적으로 사용됩니다. 하지만 내 질문은 어떻게 우리가 아이폰과 일반 장치에 비해 장치에 글꼴을 늘릴 수 있습니다. 당신이 페이스 북과 다른 애플 리케이션과 같은 인기있는 애플 리케이션을 비교한다면. 글꼴이 일반 장치보다 조금 더 커집니다. – srinadh

1

그냥 각 컨트롤러에 대한 사용자 정의 클래스를 만들 수 있습니다. 아래, 나는 UIButton에 대한 csutom 클래스를 만들었습니다. 다른 컨트롤에 대해서도 같은 것을 만들 수 있습니다.

HSCustomButton.h

#import <UIKit/UIKit.h> 

@interface HSCustomButton : UIButton 

@end 

HSCustomButton.m는

#import "HSCustomButton.h" 
#define SCALE_FACTOR_H ([UIScreen mainScreen].bounds.size.height/667) 


@implementation HSCustomButton 

- (id)initWithCoder:(NSCoder *)aDecoder { 
    if((self = [super initWithCoder:aDecoder])){ 
     [self layoutIfNeeded]; 
     [self configurefont]; 
    } 
    return self; 
} 

- (void) configurefont { 
    CGFloat newFontSize = (self.titleLabel.font.pointSize * SCALE_FACTOR_H); 
    self.titleLabel.font = [UIFont fontWithName:self.titleLabel.font.fontName size:newFontSize]; 
} 
@end 

지금, 그냥 다른 모든 장치에 자동으로 다음, 스토리 보드에서 글꼴 크기를 클래스 이름을 변경합니다.

0

UILabel 또는 다른 컨트롤 (UIButton, UITextField 등)의 범주 클래스를 만듭니다.

UILabel + DynamicFontSize.시간

#import <UIKit/UIKit.h> 

@interface UILabel (DynamicFontSize) 
@property (nonatomic) IBInspectable BOOL adjustFontSize; 
@end 

UILabel의 + DynamicFontSize.m

#import "UILabel+DynamicFontSize.h" 

@implementation UILabel (DynamicFontSize) 
@dynamic adjustFontSize; 
-(void)setAdjustFontSize:(BOOL)adjustFontSize{ 
    if (adjustFontSize) 
    { 
     CGRect screenBounds = [[UIScreen mainScreen] bounds]; 
     self.font = [self.font fontWithSize:self.font.pointSize*(screenBounds.size.width/320)]; // 320 for iPhone 5(320x568) storyboard design 
     // if you design with iphone 6(375x667) in storyboard, use 375 instead of 320 and iphone 6 plus(414x736), use 414 
    } 
    } 
@end 

사용

는 레이블을 선택하고 속성 이름이

enter image description here

ON

에 글꼴 크기 변경 값을 조정 발견