开源项目-阅读工具类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)

你可能感兴趣的:(开源项目-阅读工具类UI控件-联系人查找)