1.代码中显示颜色
image.png
2.绘制虚线
参考:https://www.jianshu.com/p/81f7d683376f
3.模仿朋友圈回复字体
image.png
image.png
4.segmentcontroller设置选中颜色边框(通过设置纯色图片设置选中的背景色,自定义重写segmentcontroller加边框)
参考:https://stackoverflow.com/questions/58315497/selectedtintcolor-of-segment-control-is-not-rounded-corner-on-ios-13
image.png
5.图片模糊效果,毛玻璃效果
参考:https://www.jianshu.com/p/a2eb59275aa8
6.绘制带有三角形的气泡背景
参考气泡向上:https://www.jianshu.com/p/7cf2748df65c
7.解决输入框TextField的LeftView和RightView显示与placeholder显示冲突的问题
8.添加真机调试版本
https://www.jianshu.com/p/031c3958a370
9.解决透明导航栏和不透明的跳跃问题
image.png
10.label省略
https://www.jianshu.com/p/e4770a1bc895
typedef NS_ENUM(NSInteger, NSLineBreakMode) {
NSLineBreakByWordWrapping = 0, // 以单词截断,默认方式
NSLineBreakByCharWrapping, // 以字母截断
NSLineBreakByClipping, // 简单截断
NSLineBreakByTruncatingHead, // 省略头部: "...wxyz"
NSLineBreakByTruncatingTail, // 省略尾部: "abcd..."
NSLineBreakByTruncatingMiddle // 省略中间: "ab...yz"
} NS_ENUM_AVAILABLE(10_0, 6_0);
https://www.jianshu.com/p/918628316265
self.personView.msgView.msgLabel.preferredMaxLayoutWidth = kScreenWidth - 20 * 4
self.personView.msgView.msgLabel.setContentHuggingPriority(UILayoutPriority.required, for: UILayoutConstraintAxis.vertical)
12.按钮渐变色
image.png
//按钮渐变色
let gradientLayer = CAGradientLayer()
gradientLayer.frame = CGRect(x: 0, y: 0, width: 100, height: 44)
gradientLayer.startPoint = CGPoint(x: 0, y: 0)
gradientLayer.endPoint = CGPoint(x: 1, y: 0)
gradientLayer.locations = [NSNumber(value: 0.5), NSNumber(value: 1.0)] //渐变点
gradientLayer.colors = [UIColor.red.cgColor, UIColor.yellow.cgColor].compactMap { $0 } //渐变数组
authBtn.layer.addSublayer(gradientLayer)
13.按钮右边图片大小和位置
image.png
lazy var moreButton : UIButton = {
let new = UIButton()
new.setTitle("查看更多", for: .normal)
new.setTitleColor(UIColor("#b78659"), for: .normal)
new.titleLabel?.font = UIFont.systemFont(ofSize: 12)
new.setImage(UIImage(named: "more_roll"), for: .normal)
new.imageView?.contentMode = .scaleAspectFit
new.imageEdgeInsets = UIEdgeInsetsMake(4, 50, 4, -50)//图片宽度16,上下距离4
new.titleEdgeInsets = UIEdgeInsetsMake(0, -16, 0, 16)//文字宽度50,整个按钮66
return new
}()
moreButton.snp.makeConstraints { (make) in
make.right.equalTo(-16)
make.centerY.equalToSuperview()
make.width.equalTo(66)
make.height.equalTo(18)
}
14.绘制透明五边形标签页
image.png
15.tableview部分圆角
image.png
//实现第一个cell圆角
func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
if indexPath.row == 0 {
let path = UIBezierPath(roundedRect: cell.contentView.bounds, byRoundingCorners: [.topLeft,.topRight], cornerRadii: CGSize(width: 10, height: 0))
let shapLayer = CAShapeLayer()
shapLayer.lineWidth = 1
shapLayer.strokeColor = UIColor.white.cgColor
shapLayer.fillColor = UIColor.clear.cgColor
shapLayer.path = path.cgPath
let maskLayer = CAShapeLayer()
maskLayer.path = path.cgPath
cell.layer.mask = maskLayer
cell.layer.addSublayer(shapLayer)
}
}
网友评论