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()), .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 是空的

Swift编码总结2的更多相关文章

  1. Swift— Swift编码规范之命名规范-备

    程序代码中到处都是自己定义的名字,取一个有样并且符合规范的名字非常重要. 命名方法很多,但是比较有名的,广泛接受命名法有: 匈牙利命名,一般只是命名变量,原则是:变量名=类型前缀+描述,如bFoo表示 ...

  2. 《从零开始学Swift》学习笔记(Day 56)——命名规范Swift编码规范之命名规范

    原创文章,欢迎转载.转载请注明:关东升的博客 程序代码中到处都是自己定义的名字,取一个有样并且符合规范的名字非常重要. 命名方法很多,但是比较有名的,广泛接受命名法有: 匈牙利命名,一般只是命名变量, ...

  3. 《从零開始学Swift》学习笔记(Day 56)—— Swift编码规范之命名规范

    原创文章,欢迎转载.转载请注明:关东升的博客 程序代码中到处都是自定义的名字,取一个有样而且符合规范的名字非常重要. 命名方法非常多,可是比較有名的,广泛接受命名法有: 匈牙利命名,一般仅仅是命名变量 ...

  4. Swift之Swift编码规范

    swift 支持的 markdown 语法. 1. 编码格式 1.1 使用二元运算符(+, -,==, 或->)的前后都需要添加空格 let value = + 1.2 在逗号后面加一个空格 l ...

  5. 《从零开始学Swift》学习笔记(Day 57)——Swift编码规范之注释规范:文件注释、文档注释、代码注释、使用地标注释

    原创文章,欢迎转载.转载请注明:关东升的博客 前面说到Swift注释的语法有两种:单行注释(//)和多行注释(/*...*/).这里来介绍一下他们的使用规范. 1.文件注释 文件注释就在每一个文件开头 ...

  6. 《从零開始学Swift》学习笔记(Day 57)——Swift编码规范之凝视规范:文件凝视、文档凝视、代码凝视、使用地标凝视

    原创文章.欢迎转载.转载请注明:关东升的博客 前面说到Swift凝视的语法有两种:单行凝视(//)和多行凝视(/*...*/).这里来介绍一下他们的使用规范. 1.文件凝视 文件凝视就在每个文件开头加 ...

  7. 一种swift编码风格指南(供参考,by linkedin)

    http://www.cocoachina.com/swift/20160701/16894.html

  8. 《从零开始学Swift》学习笔记(Day 58)—— Swift编码规范之变量或常量声明规范

    原创文章,欢迎转载.转载请注明:关东升的博客 声明是在声明变量.常量.属性.方法或函数和自定义类型时候需要遵守的规范. 首先变量或常量时每行声明变量或常量的数量推荐一行一个,因为这样以利于写注释.示例 ...

  9. [Swift]编码拾遗

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs ...

  10. Swift编码总结10

    1.打开App显示文件已损坏,打不开,您应该将它移到废纸篓,怎么办? 终端输入执行:sudo spctl --master-disable 2.Mac的Siri打开网页控制台,进入开发中模式:不过我觉 ...

随机推荐

  1. boost.tribool

    tribool boost.tribool类似c++内建的bool类,但基于三态的布尔逻辑,在true和false之外还有一个indeterminate状态.一个例子场景是执行某项任务,在执行之前状态 ...

  2. 使用echarts生成海友网企业全国分布地图

    不分类别的效果 不同分类的分布效果图 从海友网获取各个企业名单保存进mysql cmfishhelper.py 从下列网址得到各个企业名片的网址保存进表cmfish cds = get_cds() h ...

  3. nyar4psg: Cannot find a class or type named "MultiMarker"

    Cannot find a class or type named "MultiMarker" 是一种常见错误,产生的原因是Library里面有1个以上的ar库. 以我的电脑为例, ...

  4. 《挑战30天C++入门极限》C++运算符重载函数基础及其值返回状态

        C++运算符重载函数基础及其值返回状态 运算符重载是C++的重要组成部分,它可以让程序更加的简单易懂,简单的运算符使用可以使复杂函数的理解更直观. 对于普通对象来说我们很自然的会频繁使用算数运 ...

  5. Java springMVC前端传入字符串、后台接收Date的错误解决

    今天在一个基于SSM的项目里出现以下报错 Cannot convert value of type [java.lang.String] to required type [java.util.Dat ...

  6. NAT反向转换基本配置详解

  7. ICEM-点火器

    原视频下载地址:https://pan.baidu.com/s/1hrU75So 密码: k6nc

  8. JS中注入eval, Function等系统函数截获动态代码

    正文 现在很多网站都上了各种前端反爬手段,无论手段如何,最重要的是要把包含反爬手段的前端javascript代码加密隐藏起来,然后在运行时实时解密动态执行. 动态执行js代码无非两种方法,即eval和 ...

  9. [Web前端] WEEX、React-Native开发App心得 (转载)

    转自: https://www.jianshu.com/p/139c5074ae5d 2018 JS状态报告: https://2018.stateofjs.com/mobile-and-deskto ...

  10. Windowless

    参考: 浏览器插件(Plugins)开发 - II http://wen-bing.github.io/blog/2013-04-24/NPAPI-plugin-intro-2/ 无窗口型(Windo ...