RXSwift 每天一个小细节

2020-09-12  本文已影响0人  授之以渔不如授之以鱼

1.代码中显示颜色


image.png

2.绘制虚线
参考:https://www.jianshu.com/p/81f7d683376f

image.png

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
image.png

5.图片模糊效果,毛玻璃效果
参考:https://www.jianshu.com/p/a2eb59275aa8

image.png

6.绘制带有三角形的气泡背景
参考气泡向上:https://www.jianshu.com/p/7cf2748df65c

image.png

7.解决输入框TextField的LeftView和RightView显示与placeholder显示冲突的问题

image.png
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

image.png image.png
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)
        }
        
    }
上一篇下一篇

猜你喜欢

热点阅读