簡體   English   中英

如何在不同的iPhone中更改uilabel文本大小

[英]how to change uilabel text size in different iPhones

有沒有一種方法可以針對不同的屏幕尺寸更改UILabel文本大小?

我需要I-phone 6和6+中的文字更大。

我可以這樣做嗎?

正確的方法是檢查屏幕高度,然后更改文本大小嗎?

謝謝

    if (self.view.frame.size.width == 320){
        //iPhone 2G, 3G, 3GS, 4, 4s, 5, 5s, 5c
        label.font = UIFont(name: "....", size: 20)
    }
    else if (self.view.frame.size.width == 375){
        //iPhone 6
        label.font = UIFont(name: "....", size: 25)
    }
    else if (self.view.frame.size.width == 414){
        //iPhone 6 Plus
        label.font = UIFont(name: "....", size: 30)
    }

在.pch文件中聲明以下內容

#define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
#define IS_RETINA ([[UIScreen mainScreen] scale] >= 2.0)
#define SCREEN_WIDTH ([[UIScreen mainScreen] bounds].size.width)
#define SCREEN_HEIGHT ([[UIScreen mainScreen] bounds].size.height)
#define SCREEN_MAX_LENGTH (MAX(SCREEN_WIDTH, SCREEN_HEIGHT))
#define SCREEN_MIN_LENGTH (MIN(SCREEN_WIDTH, SCREEN_HEIGHT))
#define IS_IPHONE_4_OR_LESS (IS_IPHONE && SCREEN_MAX_LENGTH < 568.0)
#define IS_IPHONE_5 (IS_IPHONE && SCREEN_MAX_LENGTH == 568.0)
#define IS_IPHONE_6 (IS_IPHONE && SCREEN_MAX_LENGTH == 667.0)
#define IS_IPHONE_6P (IS_IPHONE && SCREEN_MAX_LENGTH == 736.0)

在需要實施的地方使用以下內容

if (IS_IPHONE_6){
        [myLabel setFont:[UIFont fontWithName:@"FontName" size:18]];
    }
    else if (IS_IPHONE_6P){
        [myLabel setFont:[UIFont fontWithName:@"FontName" size:20]];
    }

有許多便捷的方法可以從名為Resplendent Utilities的庫中確定當前設備的高度。 首先,您必須在http://cocoapods.org/pods/ResplendentUtilities上為此庫安裝可可豆莢。 如果您無法安裝可可豆莢,則只需從github鏈接中獲取所需代碼即可,即可訪問該庫https://github.com/Resplendent/ResplendentUtilities

在項目中擁有此庫后,請導入此文件https://github.com/Resplendent/ResplendentUtilities/blob/master/Pod/Classes/ResplendentUtilities/Code/ResplendentUtilities/Misc/Compatability/RUScreenSizeToFloatConverter.m

導入此文件后,請初始化該文件的類對象(RUScreenSizeToFloatConverter)。 然后,您可以在CGFloat中存儲此類的適當的HeightForCurrentScreenHeight屬性。 此屬性為您提供當前設備的高度。 然后,您可以使用一些條件語句(如果(appropriateHeightForCurrentScreenHeight == 736.0f){})來確定標簽文本的大小,具體取決於設備的高度。

您可以使用尺寸類根據屏幕尺寸配置不同的樣式和布局。 在情節wAny hAny的Interface Builder的底部,您會看到wAny hAny 單擊該按鈕,然后可以選擇要配置樣式的設備的大小。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM