Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何使用autolayout动态更改字体大小?_Ios_Objective C_Autolayout - Fatal编程技术网

Ios 如何使用autolayout动态更改字体大小?

Ios 如何使用autolayout动态更改字体大小?,ios,objective-c,autolayout,Ios,Objective C,Autolayout,我想使用每个设备的代码动态更改每个设备的字体大小。我知道可以使用size class/更改字体大小,但我不想使用size class @property int fontSize; +(NSString *)getDeviceModel { //Device Model NSString *phoneModel = [[UIDevice currentDevice] model]; return phoneModel; } - (void)setLabelFontSi

我想使用每个设备的代码动态更改每个设备的字体大小。我知道可以使用size class/更改字体大小,但我不想使用size class

@property int fontSize;

+(NSString *)getDeviceModel
{
    //Device Model
    NSString *phoneModel = [[UIDevice currentDevice] model];
    return phoneModel;
}

- (void)setLabelFontSize {
    NSString *hardware = [self getDeviceModel];
    if ([hardware isEqualToString:@"iPhone5,1"]) {
        self.fontSize = 10.0
    }else if ([hardware isEqualToString:@"iPhone6,1"]) {
        self.fontSize = 14.0
    }
    [_timeLabel setFont:[UIFont systemFontOfSize:self.fontSize]];
}

//我只列出了两种设备型号,您可以通过Internet获得其他型号。

为uilabel提供纵横比约束,它将自动处理字体大小。

您可以根据大小类别更改字体大小。下面的链接将对此有所帮助。
谢谢

这种方法不好。为什么要检查所有设备。还有其他方法吗?我已经通过这种方法完成了。为什么?如果我不想提供纵横比,它会自动增加uilabel大小/字体。然后你必须检查设备类型并以编程方式执行。Ok。我认为会有更好的方法。可能是如果你找到了让我知道我没有看到不同型号iPhone的每个尺寸等级,你知道尺寸等级吗?是的。我知道,请尝试以下链接,帮助你根据设备定义尺寸等级。