ios 10 通知更改很大, 详细的我还没研究透彻,就找了猫神的一个文章,觉得很详细, https://onevcat.com/2016/08/notification/ 自我经验, 发现升级xcode 8 后token 改变了而且收不到推送, 有些人事token 获取失败,我的很奇怪是有的但是收不到消息, 最后发现xcode 8 需要手动打开推送消息的权限,如图: 重新运行ok了
ios 10 通知更改很大, 详细的我还没研究透彻,就找了猫神的一个文章,觉得很详细, https://onevcat.com/2016/08/notification/ 自我经验, 发现升级xcode 8 后token 改变了而且收不到推送, 有些人事token 获取失败,我的很奇怪是有的但是收不到消息, 最后发现xcode 8 需要手动打开推送消息的权限,如图: 重新运行ok了
<!-- 相册 --> <key>NSPhotoLibraryUsageDescription</key> <string>App需要您的同意,才能访问相册</string> <!-- 相机 --> <key>NSCameraUsageDescription</key> <string>App需要您的同意,才能访问相机</string> <!-- 麦克风 --> <key>…
刚做项目的时候遇到的绘制和动画部分, 就想研究下 几个绘制的原理 和流程 , 基于懒人原则,我先搜索了下,找到了几个写的很有调理的文章,现在转发保存 最近在学习swift做动画,用到constraint的动画,用到layoutIfNeeded就去研究了下UIView的这几个布局的方法。 下面是做得一个动画,下载地址:https://github.com/smalldu/IOS-Animations 中的AnimationDemo3 动画 下面列举下iOS layout的相关方法: layoutSubviews la…
assign: 简单赋值,不更改索引计数 copy: 建立一个索引计数为1的对象,然后释放旧对象 retain:释放旧的对象,将旧对象的值赋予输入对象,再提高输入对象的索引计数为1 Copy其实是建立了一个相同的对象,而retain不是: 比如一个NSString对象,地址为0×1111,内容为@”STR” Copy到另外一个NSString之 后,地址为0×2222,内容相同,新的对象retain为1, 旧有对象没有变化 retain到另外一个NSString之 后,地址相同(建立一个指针,指针拷贝),内容当然相…
今天做png 序列动画, 记录下 var images_1 = [UIImage]() for i in 1 ... 60{ let image = UIImage(named: "imageName\(i)") images_1.append(image!) } var imageView = UIImageView(frame: frame) imageView.animationImages = images_1 imageView.animationDuration = 3//一次动画时…
//参数1 为 旋转方向, 参数2未固定方向属性 会手动出发旋转事件 UIDevice.currentDevice().setValue(UIDeviceOrientation.Portrait.rawValue, forKey: "orientation") 2 屏幕旋转的侦听 NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.viewchange(_:)), name: UIAppl…
今天想自己做键盘回收点击空白处IQKeyboardManager 类库觉得不好控制,所以自己写写, 找了下网上没找到, 想想就翻了下IQkeyboardManager得源码,找到了方法,所以写篇日记记录下 ///两个消息处理 NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.textFieldViewDidBeginEditing(_:)), name: UITextViewTextDidBeginEdit…
今天升级xcode8 尝试了项目,发现能支持老版本swift 如图设置 tag -> builld Settings 然后会有些ios 10 的可选 ? ! 问题,我的项目中不多30 左右,修改很快,又可以愉快的玩耍了
UIImagePickerControllerDelegate ,UINavigationControllerDelegate func actionSheet(actionSheet: UIActionSheet, clickedButtonAtIndex buttonIndex: Int){ PickerController = UIImagePickerController() if buttonIndex == 0{//图库 PickerController.sourceType = UIImagePick…
override func drawRect(rect: CGRect) { super.drawRect(rect) let context = UIGraphicsGetCurrentContext() CGContextSetLineCap(context,CGLineCap.Round)// CGContextSetLineWidth(context, 2)// 线宽 CGContextSetAllowsAntialiasing(context, true)// 锯齿 CGContextSetRGBStro…