1>判断输入字符串位数:

if phoneTextField.text?.lengthOfBytes(using: .utf8) != 11 {

self.showHint(hint: "请输入11位手机号码")

return

}

2>跳转设置WIfi页面:

/// 设置WIFi

fileprivate func  setUpWiFi() {

guard let url = URL(string: "app-Prefs:root=WIFI") else {

return

}

if UIApplication.shared.canOpenURL(url) {

UIApplication.shared.openURL(url)

}

}

3>

// MARK: - Date的扩展

/**

时间戳转化为字符串

time:时间戳字符串

*/

func timeStamp(timeStr: Double) -> String {

//        let time = Double(timeStr)!  + 28800  //因为时差问题要加8小时 == 28800 sec

//        let time: TimeInterval = 1000

let detaildate = Date(timeIntervalSince1970: timeStr/1000.0)

//实例化一个NSDateFormatter对象

let dateFormatter = DateFormatter()

//设定时间格式,这里可以设置成自己需要的格式

dateFormatter.dateFormat = "yyyy-MM-dd HH:MM:ss"

let currentDateStr = dateFormatter.string(from: detaildate)

return currentDateStr

}

4>避免循环引用:

weak var weakSelf = self

let strongSelf = weakSelf

5>

类方法调用函数可以使用calss和static定义函数.

6>

Debug输出打印:

deinit {

debugPrint("SearchViewController--deinit")

}

7>修改搜索框的属性:

for view in searchBar.subviews {

for subView in view.subviews {

if NSStringFromClass(subView.classForCoder) == "UINavigationButton" {

let btn = subView as? UIButton

btn?.setTitle("取消" , for: .normal)

}

if NSStringFromClass(subView.classForCoder) == "UISearchBarTextField" {

let textField = subView as? UITextField

textField?.tintColor = UIColor.gray

}

}

}

8>去除字符串左右空格:

//去除搜索字符串左右和中间的空格

searchBar.text = searchBar.text!.trimmingCharacters(in: CharacterSet.whitespaces)

9>爱心动画:

@IBAction func like(_ sender: UIButton) {

//爱心大小

let heart = DMHeartFlyView(frame: CGRect(x: 0, y: 0, width: 40, height: 40))

//爱心的中心位置

heart.center = CGPoint(x: likeBtn.frame.origin.x, y: likeBtn.frame.origin.y)

view.addSubview(heart)

heart.animate(in: view)

//爱心按钮的 大小变化动画

let btnAnime = CAKeyframeAnimation(keyPath: "transform.scale")

btnAnime.values   = [1.0, 0.7, 0.5, 0.3, 0.5, 0.7, 1.0, 1.2, 1.4, 1.2, 1.0]

btnAnime.keyTimes = [0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0]

btnAnime.duration = 0.2

sender.layer.add(btnAnime, forKey: "SHOW")

}

Swift小知识点总结的更多相关文章

  1. Swift基础知识点的学习

    每一个程序员都有一颗不满足当下知识的学习,学习Swift更是每一个iOS程序员必学技能!!! 一说道基础点的学习,当然涵盖的方面也是很多很多啦....然而每一个小知识点的学习,写一个博客,我也觉得没什 ...

  2. 刚接触Linux,菜鸟必备的小知识点(一)

    身为一个将要大四的学生,而且还是学计算机的没有接触过linux简直是羞愧难当.这个假期做了一个软件测试员,必须要熟悉linux的操作,所以对于我这个菜鸟我也就说几点比较重要的小知识点吧. 第一.cd指 ...

  3. Java学习过程中的总结的小知识点(长期更新)

    Java学习过程中的总结的小知识点 (主要是自己不会的知识和容易搞错的东西) 计算某个程序运行的时间 long stime=System.currentTimeMillis(); copy3(file ...

  4. 【转】HTML5的小知识点小集合

    html5的小知识点小集合 html5知识   1.  Doctype作用?标准模式与兼容模式各有什么区别? (1).<!DOCTYPE>声明位于位于HTML文档中的第一行,处于<h ...

  5. AngularJS的小知识点

    小知识点:$scope和$rootScope (1)每次使用ngController指令,都会调用控制器的创建函数,创建出一个控制器对象. (2)每次创建一个控制器对象,AngularJS都会创建一个 ...

  6. js中关于value的一个小知识点(value既是属性也是变量)

    今天在学习input的value值时,发现这么一个小知识点,以前理解不太透彻. [1]以下这种情况是常见情况,会弹出“测试内容” <input type="button" v ...

  7. html5的小知识点小集合

      html5的小知识点小集合 html5知识   1.  Doctype作用?标准模式与兼容模式各有什么区别? (1).<!DOCTYPE>声明位于位于HTML文档中的第一行,处于< ...

  8. [BS] 小知识点总结-05

    [BS] 小知识点总结-05 1. 不论UIWindow的rootViewController是navC.tabBarC还是VC,也不管modalVC和rootVC中间隔着多少个VC,但是modal出 ...

  9. 一个关于echo的小知识点

    一个关于echo的小知识点     echo一个布尔值时,如果是true,输出1,而如果是false,将什么都不输出! 网上搜的一个解释: 对于数字类型来说,false 确实 是 0, 而对strin ...

随机推荐

  1. Python3+Appium学习笔记04-自动下载apk

    在项目中,app更新后,都会发布新的apk版本,然后去蒲公英对应的网站上扫码下载对应的apk进行测试.所以就在想,通过app参数进行安装时,是否可以先通过代码去拉取一遍最新的apk安装包. ​ 因为学 ...

  2. Circular view path [mydemo]: would dispatch back to the current handler URL [/mydemo] again. Check your ViewResolver setup!

    简单创建一个springboot工程 pom.xml <?xml version="1.0" encoding="UTF-8"?><proje ...

  3. fsLayui缓存使用

    概述 缓存主要使用在编辑或查看页面查询数据的方式,通过后端servlet接口获取数据还是通过前端缓存获取.缓存可以使用在实时性要求不高的上面.减少后端servlet请求. 使用步骤 配置支持缓存 需要 ...

  4. Mapreduce案例之找共同好友

    数据准备: A:B,C,D,F,E,OB:A,C,E,KC:F,A,D,ID:A,E,F,LE:B,C,D,M,LF:A,B,C,D,E,O,MG:A,C,D,E,FH:A,C,D,E,OI:A,OJ ...

  5. 用jquery实现Ping测试网络连接性

    jquery的ping插件://要用的需要明白代码及自己改些地方 (function($) {    $.fn.ping = function(options) {        var opts = ...

  6. MySQL索引-B+树(看完你就明白了)

    索引是一种数据结构,用于帮助我们在大量数据中快速定位到我们想要查找的数据.索引最形象的比喻就是图书的目录了.注意这里的大量,数据量大了索引才显得有意义,如果我想要在 [1,2,3,4] 中找到 4 这 ...

  7. HDU 6051 - If the starlight never fade | 2017 Multi-University Training Contest 2

    /* HDU 6051 - If the starlight never fade [ 原根,欧拉函数 ] | 2017 Multi-University Training Contest 2 题意: ...

  8. 解决CMD控制台乱码问题

    在cmd控制台中出现乱码情况如下 解决方式1 在控制台中输入    CHCP65001 按enter回车键查看 注:CHCP是一个计算机指令,能够显示或设置活动代码页编号. 代码页    描述6500 ...

  9. Error: 'The service did not respond in a timely fashion'

    Windows启动时候报这个错,不应在OnStart放执行长的过程,需要开另一个线程来做才能顺利启动 Windows Services: OnStart loop - do I need to del ...

  10. 进程控制块(PCB)

    进程控制块PCB 我们知道,每个进程在内核中都有一个进程控制块(PCB)来维护进程相关的信息,Linux内核的进程控制块是task_struct结构体. /usr/src/linux-headers- ...