開源項目-閱讀工具類UI控件-聯系人查找

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

TGTableIndex.gif
  1. 新 API 的使用
    1>UIImpactFeedbackGenerator 在長按的時候, 屏幕給的振動反饋調用對象方法impactOccurred()響應
    2>UISelectionFeedbackGenerator在你選擇發生變化的時候, 另外一種振動效果, 并可以設置振動強度light, medium, heavy, soft, rigid
    3> label.sizeThatFits(.zero)傳遞.zero ,算出原始大小

  2. 處理邏輯的統一, 在所有字符不能全部顯示時, 按照奇數數字顯示, 并且每隔幾個取一個字母用于顯示,兩個字母之間用"?"代替, 并且部分顯示的邏輯 可以和全部顯示的邏輯合并

  3. 利用UIVisualEffectView能做出高斯模糊, 視圖合成等功能, 注意點: 避免 alpha < 1, 當視圖部分透明時, 系統會在屏幕外合成相應圖片,在其視圖\父視圖中設置 alpha<1,可能使得顯示效果不正確, 或者根本不會顯示, 同時; 不要在其 view 上直接添加子 view, 最好添加在其contentView中.

  4. 一些不常用的 API
    1> 給圖片設置字體-configUIImage(systemName: symbolName, withConfiguration: config)
    2> 刪除可變字符串 mainAttributedString.mutableString.deleteCharacters(in: NSRange(location: mainAttributedString.mutableString.length - 1, length: 1))
    3> 根據font 設置字體 let font = UIFont.systemFont(ofSize: imageFontSize, weight: .semibold) , let config = UIImage.SymbolConfiguration(font: font), UIFont(descriptor: baseFont.fontDescriptor.withDesign(.rounded)!, size: baseFont.pointSize)

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容