分类: Swift

iOS在任何地方都能显示ViewController

在开发的时候,有很多地方需要显示UIViewController,但在很多时候很不方便显示,比如在一个不是ViewController的类里在一个普通的View里或者一个管理类里,在这些情况下我们需要将源ViewController传递到使用的地方使用如下方式显示VC: viewController.present(v…

阅读全文 »
已阅读 692 次

iOS中使一个View保持在最上层

在日常的开发中我们经常会有这样的需求就是使一个View显示到最上层,从而不被其他View所遮挡,那么一共有两种方式。比如说我们的view1需要放到最上层,二parentView是它的父容器,那么我们来看一下两种方法是怎么实现的: 1) 第一种使用bringSubview(toFront:)方法来实现 parentVie…

阅读全文 »
已阅读 5,142 次

Simultaneous accesses to 0x10d000908, but modification requires exclusive access.

最近升级完swift4做了很多适配的工作,当然大部分适配还是停留在UI上的,尤其是iPhoneX出来之后,做了很多关于它的适配,包括刘海还有底部安全区域的适配。 但要命的是程序原来跑的好好的,但现在莫名其妙的在一些地方crash了,Oh No 什么情况这是,一阵的慌张,然后急匆匆到Google上进行查找解决方案,也就是…

阅读全文 »
已阅读 1,556 次

iOS中SnapKit动画的实现

在做项目的过程中突然遇到要在keywindow上添加一个全屏View来实现一个ViewController从底部present出来的一个效果,当然只是把View添加到keywindow上很简单,但我现在布局用的是自动布局,这个动画就不好实现了。 我突然想到了用SnapKit这个自动布局库来实现一下试试,经历了好几个版本…

阅读全文 »
已阅读 5,394 次

Swift3升级到Swift4后String的API升级

苹果的swiftAPI更新很快,现在已经升级到swift4,在我做API适配的时候发现Swift4对String的操作简化了很多,所以写一篇文章总结一下,希望能够帮助到有需要的人。 在Swift4之前使用String的字符集需要使用String.characters来获取,如代码 var str1 = “What ar…

阅读全文 »
已阅读 881 次

iOS中UIView旋转

在开发的过程中我们需要对UIView进行一定角度的旋转,下面我就以逆向旋转90度来给出具体代码示例 let transform = CGAffineTransform(rotationAngle: CGFloat( -90 * Double.pi / 180)) //在这里我们得到选择的角度,我们逆向旋转90度就像代码…

阅读全文 »
已阅读 1,779 次

iOS中Storyboard和class内连线问题

今天早上上班的路上,微信收到同事发来的一个问题,是在操作一个按钮的时候发现App卡死了,我第一反应就是程序肯定崩溃了。我突然想起前两天写的一个功能,这个功能在iPad和iPhone上不一样,到公司一看果然是这个功能开发的时候iPad和class中定义的View正确连线了,但iPhone没有,就这样造成在手机上造成cra…

阅读全文 »
已阅读 633 次

UIView 监听某一个属性的变化

今天在做项目的过程中需要检测UIView的isHidden属性然后做一些自己想操作的内容,然后就写了一下,经过尝试重写了isHidden属性来监测它,代码如下 override var isHidden: Bool { get { return super.isHidden } set(v) { super.isHid…

阅读全文 »
已阅读 1,726 次

iOS唤起一个APP

现在的生活中大家经常用到智能手机,其中很大部分用的是苹果的手机。在生活中经常会有这样的场景,在一个应用内会有分享或者需要支付的需求,通常会通过当前APP调用第三方的支付或者分享,例如微信支付、微信分享、微博分享等。那么这些功能到底如何在iOS设备上做到的呢,那就是通过开发通过URL Scheme的定义实现的,APP通过…

阅读全文 »
已阅读 2,302 次

Swift中获取随机数

在我们日常的开发过程中在很多场景都需要获取随机数,包括很多数据类型,整形,长整形等。 如果我们需要一个随机整数,我们可以使用arc4random系列函数,其实这个函数大家用的很多了吧,比如说我们需要生成一个指定范围内的一个随机数,我们则需要给他指定一个上限max,arc4ramdom()返回值类型是UInt32。下面看…

阅读全文 »
已阅读 877 次

swift数组中一条数据置顶【原创】

今天有一个需求需要做到数组中有一条数据一定要排在第一个,刚开始的写法是将这条数据取出来缓存一下,然后将这条数据插入到已经排除掉这条数据的数组中的第一个,代码如下: let id = “aaa” let first = self.fullDatas?.filter({ (data) -> Bool in if id…

阅读全文 »
已阅读 1,005 次