如何在Xcode Story Board中添加有关多设备的动态字体大小

前端之家收集整理的这篇文章主要介绍了如何在Xcode Story Board中添加有关多设备的动态字体大小前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在storyBoard中添加了autoLayout(w:Any,h:Any)

但由于字体大小固定,所有设备的字体大小都相同
(4,4.7,5.5英寸)

4英寸看起来不错.但在5.5英寸,这太小了

我想在任何设备中动态地发布和减少UIlabel字体大小.

有任何想法吗?

enter image description here

解决方法

我找到了解决方

我做了一堂课

class UILabelDeviceClass : UILabel {

@IBInspectable var iPhoneFontSize:CGFloat = 0 {
    didSet {
        overrideFontSize(iPhoneFontSize)
    }
}

func overrideFontSize(fontSize:CGFloat){
    let currentFontName = self.font.fontName
    var calculatedFont: UIFont?
    let bounds = UIScreen.mainScreen().bounds
    let height = bounds.size.height
    switch height {
    case 480.0: //Iphone 3,4,SE => 3.5 inch
        calculatedFont = UIFont(name: currentFontName,size: fontSize * 0.7)
        self.font = calculatedFont
        break
    case 568.0: //iphone 5,5s => 4 inch
        calculatedFont = UIFont(name: currentFontName,size: fontSize * 0.8)
        self.font = calculatedFont
        break
    case 667.0: //iphone 6,6s => 4.7 inch
        calculatedFont = UIFont(name: currentFontName,size: fontSize * 0.9)
        self.font = calculatedFont
        break
    case 736.0: //iphone 6s+ 6+ => 5.5 inch
        calculatedFont = UIFont(name: currentFontName,size: fontSize)
        self.font = calculatedFont
        break
    default:
        print("not an iPhone")
        break
    }

}

}

然后,设置类

Img1

Img2

然后,设定价值

快乐的编码!

猜你在找的Xcode相关文章