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. PHP项目部署 Linux 服务器

    一.运行环境 Centos7 x64 lnmp (Linux , Nginx , Mysql , PHP/Python) 二.安装依赖和修改配置 安装Lnmp环境集成包:https://lnmp.or ...

  2. 错误信息: Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:

    这个错误主要原因是:数据库的配置出问题,比如写错库名什么的,仔细检查下.

  3. debug错误总结

    1, 2,就是一个大括号的问题..让你总是得不了满分..明明和别人的代码差不多. 3,就比如P1914,这种藏坑的题,或者说这一类藏坑的题. 坑是什么呢?就是位数不够往后推的时候.. 你不填坑你就得不 ...

  4. SP1825 【FTOUR2 - Free tour II】

    # \(SP1825\) 看到没有人用老师的办法,于是自己写一下思路 思路第一步:排除旧方法 首先这道题和\(4178\)不一样,因为那道题是计数,而这道题是求最值,最值有个坏处,就是对于来自相同子树 ...

  5. 洛谷 P2827 蚯蚓 题解

    每日一题 day32 打卡 Analysis 我们可以想一下,对于每一秒除了被切的哪一个所有的蚯蚓都增长Q米,我们来维护3个队列,队列1表示最开始的蚯蚓,队列2表示每一次被切的蚯蚓被分开的较长的那一部 ...

  6. YAML_15 include and roles

    在编写playbook的时候随着项目越来越大,playbook越来越复杂.可以把一些play.task 或 handler放到其他文件中,通过包含进来是一个不错的选择. roles像是加强版的incl ...

  7. php大文件分块上传断点续传demo

    前段时间做视频上传业务,通过网页上传视频到服务器. 视频大小 小则几十M,大则 1G+,以一般的HTTP请求发送数据的方式的话,会遇到的问题:1,文件过大,超出服务端的请求大小限制:2,请求时间过长, ...

  8. 最长升序列 DP

    class Solution: def lengthOfLIS(self,nums): if not nums:return 0 #边界处理 dp = [1 for _ in range(len(nu ...

  9. MAC OS 中mount nfs 报错问题.

    记一下 MAC OS 中mount nfs 报错问题. 环境和配置文件 NFS 服务端 Ubuntu 安装 apt install nfs-kernel-server 服务端的配置文件 cat /et ...

  10. BurpSuite经常拦截firefox报文如success.txt的解决办法

    因为工作需要经常使用Burp对收发报文进行检测,平时习惯使用火狐浏览器,但是火狐浏览器经常进行一些登录状态的检测,导致Burp拦截中出现大量的火狐报文,如http://detectportal.fir ...