美文网首页
RXSwift 每天一个小细节

RXSwift 每天一个小细节

作者: 授之以渔不如授之以鱼 | 来源:发表于2020-09-12 10:51 被阅读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)
            }
            
        }
    

    相关文章

      网友评论

          本文标题:RXSwift 每天一个小细节

          本文链接:https://www.haomeiwen.com/subject/jrqwektx.html