坑录

  • 2019年12月02日

    • 使用TextView计算contentSize,出现获取不到的情况,UI卡死问题

      很有可能是未加入到当前视图树中,加入之后就可以解决这个问题,应该是内部的绘制机制问题,尤其是适配iPad的时候需要注意此问题

    • 使用UITabBarItem.appearance().setTitleTextAttributes(xxxx, for:xxx)在iOS13上设置无效的问题

      因为iOS 13上面设置这个发生了改变,需要在TabbarController中进行适配

             // 适配iOS 13上面,item的normal颜色不准的问题
             if #available(iOS 13.0, *) {
                 self.tabBar.unselectedItemTintColor = .red
             }
      

方法交换


extension UIImage {
    static func pq_exchangeImplementations() {
        guard let m1 = class_getInstanceMethod(self, #selector(self.init(named:))) else {
            return
        }
        guard let m2 = class_getInstanceMethod(self, #selector(swizzle_named(_:))) else {
            return
        }

        if (class_addMethod(self, #selector(swizzle_named(_:)), method_getImplementation(m2), method_getTypeEncoding(m2))) {
            class_replaceMethod(self, #selector(swizzle_named(_:)), method_getImplementation(m1), method_getTypeEncoding(m1))
        } else {
            method_exchangeImplementations(m1, m2)
        }
    }
    
    @objc func swizzle_named(_ named: String) {
        print("使用image(named: \(named)) 加载图片")
        if !(named.isEmpty) {
            swizzle_named(named)
            return
        }
        print("图片名字为空,不加载")
    }
}

你可能感兴趣的:(坑录)