美文网首页
2018-01-11DM项目知识难点摘记

2018-01-11DM项目知识难点摘记

作者: 小白猿 | 来源:发表于2018-01-11 09:52 被阅读21次

UI

  • 自定义组件
    自定义组件要同事兼容代码初始化和xib初始化,需要同时执行下面两个方法
// frame 初始化执行
  override init(frame: CGRect) {
        super.init(frame: frame)
        setupUI()
    }
    
// xib初始化执行
 required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        setupUI()
    }
  • UICollectionView 添加footer 后被遮挡


    可能的解决办法
    1.试试调整collectionView的frame,将底部的间距调大
    2.试试调整collectionView的contentInset,将bottom调大
    _collectionView.contentInset = UIEdgeInsetsMake(0, 0,49, 0);
  • 自定义组件类,在菜单中行设置属性 ,用@IBInspectable修饰,使用时直接拖控件,然后xib绑定此类就好

@IBDesignable
open class VCShadowView: UIView {

    @IBInspectable public var cornerRadius: CGFloat = 6.0 {
        didSet {
            _contentView.layer.cornerRadius = cornerRadius
            self.layer.cornerRadius = cornerRadius
        }
    }
    @IBInspectable public var shadowColor: UIColor = .gray {
        didSet {
            self.layer.shadowColor = shadowColor.cgColor
        }
    }

    @IBInspectable public var shadowRadius: CGFloat = 5.0 {
        didSet {
            self.layer.shadowRadius = shadowRadius
        }
    }

    @IBInspectable public var shadowOpacity: Float = 0.09 {
        didSet {
            self.layer.shadowOpacity = shadowOpacity
        }
    }

    @IBInspectable public var shadowOffset: CGSize = CGSize(width: 0, height: 2.0) {
        didSet {
            self.layer.shadowOffset = shadowOffset
        }
    }

    let _contentView = UIView()

    var contentView: UIView {
        return _contentView
    }

    override init(frame: CGRect) {
        super.init(frame: frame)
        initialize()
    }

    required public init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        initialize()
    }

    fileprivate func initialize() {
        backgroundColor = .clear
        addSubview(_contentView)
        _contentView.snp.makeConstraints { (make) in
            make.edges.equalToSuperview()
        }
        _contentView.backgroundColor = .white
        _contentView.clipsToBounds = true
        _contentView.layer.cornerRadius = cornerRadius
    }

    override open func draw(_ rect: CGRect) {
        super.draw(rect)
        self.layer.shadowColor = shadowColor.cgColor
        self.layer.shadowOffset = shadowOffset
        self.layer.shadowRadius = shadowRadius
        self.layer.shadowOpacity = shadowOpacity
        self.layer.cornerRadius = cornerRadius
    }
}

  • 图片部分显示裁剪
 imageView.contentMode = UIViewContentModeScaleAspectFill;
 imageView.clipsToBounds = YES;

Xcode

文件结构
文件夹.png

语法类

  • NSUserDefaults 存储自定义类的时候

    • 该类必修实现 NSCoding 协议
    • 该类在存储的时候要要转换为NSData,自定义对象的数据或者字典雅瑶转换的NSData
    • 简言之,偏好设置只能存储基本数据类型
  • swift Int64 等于 long

  • if var 和 if let 的关系

  • 数组的 += 是什么操作

  • @discardableResult 注解是什么含义

  • URLQueryItem & URLQueryItem

  • 数组的filter操作

框架类

Alamofire

  • asURL
 /// Returns a URL that conforms to RFC 2396 or throws an `Error`.
    ///
    /// - throws: An `Error` if the type cannot be converted to a `URL`.
    ///
    /// - returns: A URL or throws an `Error`.

规范类

1.swift 枚举

  • 声明的名称首字母要大写,但是case 选项首字母要小写

相关文章

  • 2018-01-11DM项目知识难点摘记

    UI 自定义组件自定义组件要同事兼容代码初始化和xib初始化,需要同时执行下面两个方法 UICollectionV...

  • 项目难点

    1.surfaceView问题 1.surfaceView 双缓冲机制,导致背景闪烁 (清空canva...

  • 2022-11-03 bd

    项目经历+难点+解决 位置感知, serverIP 基础知识 1.网络相关(我很不熟) 三次握手中,time_wa...

  • 难点知识

    call apply call(thisObj,arg1,arge2...]])call(thisObj,[arg...

  • iOS模块化心得

    在原有项目上进行模块化的难点是,给原有项目分层和解耦 难点1:项目分层 我们项目分层结构基础层:各种基类,常用分类...

  • 2020年互联网Java面试复习大纲:ZK+Redis+MySQ

    多数的公司总体上面试都是以自我介绍+项目介绍+项目细节/难点提问+基础知识点考核+算法题这个流程下来的。有些公司可...

  • 2021年互联网大厂Java面试清单:ZK+Redis+MySQ

    多数的公司总体上面试都是以自我介绍+项目介绍+项目细节/难点提问+基础知识点考核+算法题这个流程下来的。有些公司可...

  • 知识图谱学习笔记(二)--知识表示

    前言: 知识应用的难点在于只是推理,只是推理的难点在于知识表示。因此,知识表示是基于知识的人工智能应用中的核心部分...

  • C语言知识拾遗

    一、前言 本系列文章旨在总结 C 语言基础知识,包括 标准库函数、疑难点分析、常用函数封装、常用项目代码块 等。关...

  • No.17读书笔记《好好学习》——掌握临界知识的底层思维与方法

    标签:学习+技能+思维+逻辑+心理 评分:★★★★★ 掌握临界知识的底层思维与方法 低水平——摘记很多知识 高水平...

网友评论

      本文标题:2018-01-11DM项目知识难点摘记

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