先看效果-支持圖片,特殊字符的顯示, 和長(zhǎng)按反饋, 作者源碼

新 API 的使用
1>UIImpactFeedbackGenerator在長(zhǎng)按的時(shí)候, 屏幕給的振動(dòng)反饋調(diào)用對(duì)象方法impactOccurred()響應(yīng)
2>UISelectionFeedbackGenerator在你選擇發(fā)生變化的時(shí)候, 另外一種振動(dòng)效果, 并可以設(shè)置振動(dòng)強(qiáng)度light, medium, heavy, soft, rigid
3>label.sizeThatFits(.zero)傳遞.zero,算出原始大小處理邏輯的統(tǒng)一, 在所有字符不能全部顯示時(shí), 按照奇數(shù)數(shù)字顯示, 并且每隔幾個(gè)取一個(gè)字母用于顯示,兩個(gè)字母之間用
"?"代替, 并且部分顯示的邏輯 可以和全部顯示的邏輯合并利用
UIVisualEffectView能做出高斯模糊, 視圖合成等功能, 注意點(diǎn): 避免 alpha < 1, 當(dāng)視圖部分透明時(shí), 系統(tǒng)會(huì)在屏幕外合成相應(yīng)圖片,在其視圖\父視圖中設(shè)置 alpha<1,可能使得顯示效果不正確, 或者根本不會(huì)顯示, 同時(shí); 不要在其 view 上直接添加子 view, 最好添加在其contentView中.一些不常用的 API
1> 給圖片設(shè)置字體-configUIImage(systemName: symbolName, withConfiguration: config)
2> 刪除可變字符串mainAttributedString.mutableString.deleteCharacters(in: NSRange(location: mainAttributedString.mutableString.length - 1, length: 1))
3> 根據(jù)font 設(shè)置字體let font = UIFont.systemFont(ofSize: imageFontSize, weight: .semibold) , let config = UIImage.SymbolConfiguration(font: font), UIFont(descriptor: baseFont.fontDescriptor.withDesign(.rounded)!, size: baseFont.pointSize)