Swift项目 iOS10 UILabel显示不全 添加全局自适应

Swift项目 iOS10 UILabel显示不全 添加全局自适应

1. 新建一个Swift文件

代码:

//
//  Commen.swift
//  label文本添加自适应
//
//  Created by xiaoniu on 16/9/20.
//  Copyright © 2016年 xiaoniu. All rights reserved.
//

import Foundation
import UIKit

func swizzlingMethod(clzz: AnyClass, oldSelector: Selector, newSelector: Selector) {
    let oldMethod = class_getInstanceMethod(clzz, oldSelector)
    let newMethod = class_getInstanceMethod(clzz, newSelector)
    method_exchangeImplementations(oldMethod, newMethod)
}

extension UIView {
    func layoutSubviewsAndAdjust() {
        self.layoutSubviewsAndAdjust()
        if self.isKindOfClass(UILabel.classForCoder()) {
            let label = self as! UILabel
            label.adjustsFontSizeToFitWidth = true
            label.backgroundColor = UIColor.yellowColor()
        }
    }
}

2. AppDelegate调用swizzlingMethod

代码:

//
//  AppDelegate.swift
//  label文本添加自适应
//
//  Created by xiaoniu on 16/9/20.
//  Copyright © 2016年 xiaoniu. All rights reserved.
//

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
    var window: UIWindow?

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        swizzlingMethod(UILabel.self, oldSelector: "layoutSubviews", newSelector: "layoutSubviewsAndAdjust")
        return true
    }
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值