zoukankan      html  css  js  c++  java
  • Swift编码总结2

    1.swift如何隐藏在 iPad 上的 quicktype 键盘工具栏?

    let item = textField.inputAssistantItem
            item.leadingBarButtonGroups = [UIBarButtonItemGroup]()
            item.trailingBarButtonGroups = [UIBarButtonItemGroup]()
            textField.autocorrectionType = .no

    2.dismiss当前控制器跳转:

    @IBAction func customMoneyClick(_ sender: Any) {
            self.dismiss(animated: true) {
                self.delegate?.gotoCustomMoney()
            }
        }

    3.自定义跳转控制器:

    init(withType type: LoginOrRegisterType) {
            loginOrRegisterType = type
            super.init(nibNam.e: nil, bundle: nil)
            modalPresentationStyle = .custom
        }

    4.正则判断:

    fileprivate func isValideRegisterName(_ registerName: String) -> Bool {
            
            let parttenPrefix = "^[a-zA-Z\u4e00-\u9fa5]{1}.*" // 首字母不能是数字
            let parttenValideChar = "^[a-zA-Z0-9\u4e00-\u9fa5_]+$" // 非法字符 只允许字母、汉字、数字、下划线
            let parttenLength = "^[a-zA-Z0-9\u4e00-\u9fa5_]{2,16}$" // 长度 2 - 16
            
            
            
            var predicate = NSPredicate(format: "SELF MATCHES %@", parttenPrefix)
            if !predicate.evaluate(with: registerName) {
                HUDManager.showAutoDismissFailedMessage(GLOBAL_LANGUAGE("昵称首字母只能为字母或汉字!"))
                return false
            }
    }

    5.CollectionView实现最低垂直间隔:

     let layout = UICollectionViewFlowLayout()
            layout.minimumLineSpacing = 3.0
            layout.minimumInteritemSpacing = CGFloat.leastNormalMagnitude

    6.button.isExclusiveTouch = true

    ExclusiveTouch的作用是:可以达到同一界面上多个控件接受事件时的排他性,从而避免bug。也就是说避免在一个界面上同时点击多个UIButton导致同时响应多个方法。
    
    用这个来控制UIButton 的ExclusiveTouch属性,这样需要在每个控制器都要设置。可用一句话来代替这样的设置,在AppDelegate启动应用时添加 [[UIButton appearance] setExclusiveTouch:YES];

    7.Kingfisher设置图片:

    backgroundImageView.kf.setImage(with: URL(string: imageUrlStr),
                                  placeholder: UIImage(named:"qianrenqianwei"),
                                  options: [.transition(ImageTransition.fade(1)), .keepCurrentImageWhileLoading])

    8.super.init()方法写前写后的区别:

    先写是先走父类的初始化方法,放在后面,会把子类的覆盖,最好写在前面。

    9.UIStackView代码使用:

    let stackView: UIStackView = {
            let view = UIStackView(frame: CGRect.zero)
            view.axis = .horizontal      // 子视图的布局方向
            view.alignment = .center  // 子视图的对齐方式
            view.distribution = .fillEqually    // 子视图的分布比例(大小)  每个子视图的高度或宽度保持一致。
            return view
        }()

    10.isEmpty函数:

    // 使用字符串字面量创建空字符串
    var stringA = ""
    
    if stringA.isEmpty {
       print( "stringA 是空的" )
    } else {
       print( "stringA 不是空的" )
    }
    
    // 实例化 String 类来创建空字符串
    let stringB = String()
    
    if stringB.isEmpty {
       print( "stringB 是空的" )
    } else {
       print( "stringB 不是空的" )
    }
    输出: stringA 是空的    stringB 是空的
  • 相关阅读:
    python中os模块和sys模块的常见用法
    Python 十进制转换为二进制 高位补零
    Invalid prop: custom validator check failed for prop "pagerCount"的报错
    Centos7 安装使用virtualenvwrapper
    如何使用CORS解决跨域问题
    内置模块
    文件操作的相关
    小数据池的概念
    set()集合的概念与一般操作
    有关于dict(字典)的特性与操作方法
  • 原文地址:https://www.cnblogs.com/pengsi/p/8954697.html
Copyright © 2011-2022 走看看