ESTabBarController自动隐藏_iOS pushcontroller时自动隐藏tabbar
shinyuu swift教程 4038 0 2019-08-21 13:51:35

为什么要使用?在开发工作中,我们可能会遇到需要自定义UITabBar的情况。例如:改变文字样式、添加一些动画效果、设置一个比默认更大的样式等等,以上需求如果只通过UITabBarItem往往很难实现。 1、初始化ESTabBarControllerlet homeVC = HomePageController()let reportVC = ReportViewController()let userVC = UserCenterController()let newsVC = NewsCenterViewController()...

阅读全文

Swift同步方式自定义WKWebView的UserAgent解决UserAgent第二次才生效的问题
shinyuu swift教程 7196 0 2019-07-10 13:35:09

之前写过一篇 iOS开发Swift修改WKWebView默认的UserAgent,但好像是有点BUG的,因为上次的方式的使用异步的方式去获取和设置UserAgent,那么问题就出现了,当第一次打开网页的时候,并没有生效,必须要第二次打开网页的时候,我们自定义的UserAgent才会生效。后来研究了很久,通过同步的方式去设置解决了这个问题,来记录一下。 其实设置方法比异步的要简单很多。上代码:override func viewDidLoad() { super.viewDidLoad() guard let ...

阅读全文

Swift全面屏iPhoneX适配_IOS自定义View全屏图片适配刘海屏X及XS MAX
shinyuu swift教程 7157 0 2019-04-11 09:55:22

由于目前全面屏的流行,这导致了我们开发者有一个问题,就是之前做的界面如果是全屏的背景图片的话,显示图片会被拉伸,看起来很不友好,十分影响用户体验。Android的话解决方案很好解决,就是把图片放到最下面或者最上面,然后不够的地方用纯色背景填充就可以了。 当我在改IOS的代码的时候我发现问题了,原理我也是想用之前改Android的方式一样的,可以之前的布局是用 XIB 做的,要把图片保留原始尺寸,然后用纯色填充的话,很不好调整,后来没办法,只能删掉 XIB ,用代码从新写一遍。今天就更大家分享一下我的自定义 View,可以填充全面屏的...

阅读全文

Swift UIButton自由调整图标按钮中的图标和文字位置
shinyuu swift教程 10999 2 2019-01-23 14:35:08

在 APP 的开发过程中,很多时候我们会需要在 UIButton 的左边或者右边添加 ICON,已经再添加背景图片,但这两者并不冲突。我们使用定制类型(Custom)的按钮就可以设置文字前面的图标。但是图片和文字的相对位置是固定的(按钮在前,文字在后)。下面就给一下我的解决方案。let signButton = UIButton.init()signButton.setImage(UIImage.init(named: "sign_icon"), for: UIControlState.normal) //按钮图标signButto...

阅读全文

iOS开发Swift修改WKWebView默认的UserAgent以及执行JS代码
shinyuu swift教程 8070 0 2018-12-21 15:34:07

在IOS APP开发的时候遇到一个需求,因某些原因,需要在 WKWebview 默认的 Useragent 中增加一些自定义的东西。经测试发现,WKWebview的 evaluateJavaScript("navigator.userAgent") 可以取到默认的 Useragent,那么我们修改也需要在这里修改。webView.evaluateJavaScript("navigator.userAgent") {(info, error) in // 获取默认值 if var userAgent = info...

阅读全文

Swift 中如何定义接口_如何像Objective-C定义可选接口?
shinyuu swift教程 3791 1 2018-09-28 13:31:52

[email protected][email protected]可以通过接口定义一系列方法,然后由实现接口的类选择性地实现其中几个方法。在Cocoa API中很多情况下接口方法都是可选的,这点和Swift中的protocol的所有方法都必须被实现这一特性完全不同。 那些如果没有实现则接口就无法正常工作的方法一般是必须的,而相对地像作为事件通知或者对非关键属性进行配置的方法一般都是可选的。最好的例子我想应该是UITableViewDataSource和UITableViewDel...

阅读全文

Swift中对象序列化的实现_golang利用gob序列化struct对象
shinyuu swift教程 3453 0 2018-09-18 14:06:06

GOB包实现的序列化STRUCT对象保存到本地 golang可以通过json或gob来序列化struct对象,虽然json的序列化更为通用,但利用gob编码可以实现json所不能支持的struct的方法序列化,利用gob包序列化struct保存到本地也十分简单,务必注意的是golang序列化有个小坑,就是struct里的字段必须要可导出也就是首字母大写。package mainimport ( "encoding/gob" "fmt" "os")type User struct { Id int N...

阅读全文

Swift懒加载和只读属性的实现与介绍
shinyuu swift教程 4111 1 2018-05-15 13:38:18

懒加载 在 iOS 开发中,懒加载是无处不在的,懒加载的格式如下:lazy var person: Person = { print("懒加载") return Person() }() 懒加载本质上是一个闭包 以上代码可以改写为以下格式:let personFunc = { () -> Person in print("懒加载") return Person() } lazy var demoPerson: Person = self.personFunc() 懒加载的简单写法:lazy var demoPerson...

阅读全文

Swift基础语法教程_Swift控制语句
shinyuu swift教程 4291 1 2016-10-18 11:10:36

前言 Swift提供了类似C语言的流程控制结构、包括可以多次执行任务的for和while循环、还有基于特定条件选择执行不同代码分支的if、guard和switch语句、还有控制流程跳转到其他代码的break和continue语句 Swift增加了for-in循环、用来更简单地遍历数组、字典、区间、字符串和其他序列类型 Swift的switch语句比C语言中更加强大、在C语言中、如果某个case不小心漏写了break、这个case就会贯穿至下一个case、而Swift无需写break、所以不会发生这种贯穿的情况、case 还可以匹配更...

阅读全文

DD记账
top
+