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 是空的

 

posted on 2018-04-26 19:49  玉思盈蝶  阅读(315)  评论(0编辑  收藏  举报

导航