iOS开发之旅
文章平均质量分 63
KamyShi
iOS开发工程师
展开
-
WKWebview和iOS交互篇
WKWebview和iOS交互篇##iOS调用js在UIWebview的时候使用JSContext来进行js通信,在WKWebview的时候,没有JSContext了,但是Apple提供了新的方法evaluateScript,使用起来更便捷。 [self.webview evaluateJavaScript:@"document.title" completionHandler:^(i...原创 2019-10-31 11:18:28 · 949 阅读 · 0 评论 -
iOS开发之旅--ReactiveCocoa使用小结2
Go on! 先祝福孩子儿童节快乐!今天简单介绍RAC中rac_signalForSelector的使用,分为delegate、按钮点击事件的绑定、监控方法有没有执行的一个很好的办法原创 2016-06-01 21:51:37 · 725 阅读 · 0 评论 -
iOS开发之旅--Reveal查看别人的App
工欲善其事,必先利其器。 很早就听说使用Reveal可以查看别人的App布局,so最近买了一个二手手机,越狱玩,(查看别人的App需要越狱,不太建议新手机越狱)1、手机需要先越狱,盘古越狱比较厉害,简单方便,如果你自己会越狱,那更好! 2、越狱之后打开Cydia,会自动更新源和插件, 3、需要安装Cydia Substrate和OpenSSH,装了OpenSSH之后就可以通过电脑的ssh命令连原创 2016-08-22 15:46:27 · 929 阅读 · 0 评论 -
iOS开发之旅--Swift3中的注释、警告、提示写法(#pragma mark)
iOS开发之旅–Swift3中的注释、警告、提示写法(#pragma mark)1、在之前的iOS开发中,我们经常使用#pragma mark来注释,使用#warning打警告,但是在swift3中不支持了 //TODO://MARK://FIXME:原创 2016-09-19 14:20:30 · 4309 阅读 · 1 评论 -
iOS之旅--UILabel后边出现一条线的解决办法
UILabel 在label的周围出现一条线,如图: 原因:frame的宽高没有取整,或者说上下左右边没有取整解决方法:在取frame得时候,加上CGRectIntegral,使得宽、高得到一个整数,然后就完美的解决这个问题对CGRect使用CGRectIntegral取整。转载 2016-09-21 18:43:19 · 3537 阅读 · 1 评论 -
iOS之旅--Swift时间戳转换自定义时间显示
由于业务需要,根据时间戳展示不同的时间显示,所以写了一个工具,可以提供如下的实现;isToday·返回是否是今天isYesterday·返回是否是昨天isYear·返回是否是今年hour·返回距离当前有几个小时minute·返回距离当前有几分钟yesterdayTimeStr·返回格式为”HH:mm”的时间noYesterdayTimeStr·返回格式为”MM-dd HH:mm”的时间原创 2016-11-03 17:46:28 · 2806 阅读 · 0 评论 -
iOS之旅--Swift3中UIKeyboardFrameEndUserInfoKey的用法
Swift3中UIKeyboardFrameEndUserInfoKey的用法在监听键盘事件的时候,我们一般会用到如下方法,来获取键盘动画的时长和键盘的frame,一般会使用到键盘弹起后的高度,用来处理输入框的位置。在Objective-C上用习惯的UIKeyboardFrameEndUserInfoKey可以很方便的获取键盘弹起后的高度,但是swift3更新之后,之前的方法又不能用了,所以在这里备原创 2016-10-24 09:56:11 · 1678 阅读 · 0 评论 -
iOS之旅--swift emoji 处理
转发请注明来源: https://z.clouderwork.com/article/70c539ccb2b66565Swift中使用NSAttributedString展示Emoji遇到的坑引:新的功能模块由Swift3开发,开发阶段由于没有测试emoji表情,前几天发现这个bug,当发出的文本中带有emoji表情的时候,显示会出现问题,如图1:其实展现的时候,应该是这样的,如图2:图1:转载 2017-01-18 11:14:12 · 2699 阅读 · 0 评论 -
iOS之旅--NIM SDK 使用指南
便于记录查看地址,方便查找http://dev.netease.im/docs/product/IM%E5%8D%B3%E6%97%B6%E9%80%9A%E8%AE%AF/SDK%E5%BC%80%E5%8F%91%E9%9B%86%E6%88%90/iOS%E5%BC%80%E5%8F%91%E9%9B%86%E6%88%90NIM SDK 使用指南转载 2017-08-11 13:15:21 · 12286 阅读 · 0 评论 -
iOS之旅--UIScrollView疑难处理
1、scrollView.contentSize设置完不能滑动2、scrollView.delaysContentTouches原创 2017-09-29 12:38:13 · 409 阅读 · 0 评论 -
iOS之旅--发布自己的CocoaPods库(组件化开发第一步)
从去年的Dev大会上就开始慢慢接触了解组件化,但是没有实际的项目可以操作,搁浅至今,中间也尝试性的试验过,现在来一个总结。1、思考抽取项目中独立的代码,作为模块与整体项目分开。首先我能想到的网络库、工具类、封装好的一些控件。2、抽取代码这里是以项目中的Category为目标,抽取Category为独立模块原创 2017-09-29 14:46:08 · 714 阅读 · 0 评论 -
iOS之旅--iOS11的一些适配工作
跳转App Store评论- (void)gotoAppStoreEvaluate{//1028355284是我们APP的appID,替换成你的应用的appID即可 NSString *itunesUrl = @"itms-apps://itunes.apple.com/cn/app/id1028355284?mt=8&action=write-review"; NSURL *原创 2017-10-13 09:54:01 · 853 阅读 · 0 评论 -
iOS12.1的Tabbar的item位置偏移错乱
今晚写代码写的很爽的时候,突然发现APP返回首页的时候Tabbar的item向上偏移了一下,然后又回到原位置。突然想起来刚更新系统后,在别的地方也见过,然后就去把手机上的APP都点了下,最终有的APP也会出现这个问题。(PS:我是多无聊啊!)原创 2018-11-08 21:28:04 · 2563 阅读 · 0 评论 -
iOS开发之旅--ReactiveCocoa使用小结
很久没有更新博客了,维持了两个多月的高强度工作,让自己放松一下,对近期的技术进行一些总结。本人是一个兼职的云工作开发者, 我所接触到的云工作有:解放号、云沃客、开源中国众包等等,本人印象比较好的是云沃客,这个平台,工作比较多,模块细化的也比较好。对于我们移动开发而言,开发单模块甚至单界面是可以提高开发速度的。ReactiveCocoa中的KVO实现登录注册等功能中提交按钮状态的变化。原创 2016-05-31 21:47:56 · 2273 阅读 · 0 评论 -
iOS之旅--开始小demo+整合
2016开始了,刚开始趁闲暇时间整理一下,新的一年熟悉一下代码!快速进入状态,Fighting!项目地址在https://github.com/shijinliang/KSDemo,欢迎朋友们Star。小注:最近可能要看一下html5 + AngularJS ,有朋友了解的给点指点,谢谢!原创 2016-02-16 20:40:18 · 1424 阅读 · 0 评论 -
iOS之旅--用CollectionView实现轮播图效果+封装方法
思路:使用Section来实现,每一组的数据都一样,默认设置N组(正常情况下50-100即可,除非有人很无聊),然后添加定时器,使CollectionView滚动到相应的地方,手动拖拽是collectionView本身就具备的。https://github.com/shijinliang/KSDemo/tree/CollectionView轮播图原创 2016-03-11 17:42:17 · 3081 阅读 · 1 评论 -
iOS开发之旅--NSRunLoop 详解
1.NSRunLoop是IOS消息机制的处理模式 NSRunLoop的主要作用:控制NSRunLoop里面线程的执行和休眠,在有事情做的时候使当前NSRunLoop控制的线程工作,没有事情做让当前NSRunLoop的控制的线程休眠。 2.NSRunLoop 就是一直在循环检测,从线程start到线程end,检测inputsource(如点击,双击等操作)同步事件,检测timesou转载 2015-09-16 16:22:03 · 699 阅读 · 0 评论 -
iOS之旅--隐藏(去除)导航栏底部横线
ios开发大部分情况下会使用到导航栏,由于我司的app导航栏需要与下面紧挨着的窗口颜色一致,导航栏底部的横线就会影响这个美观,LZ使用了以下方法。觉得不错,分享来给小伙伴们。1)声明UIImageView变量,存储底部横线@interface MyViewController { UIImageView *navBarHairlineImageView;}2)在viewDidLoad中加入原创 2015-08-25 15:54:15 · 16745 阅读 · 11 评论 -
iOS之旅--依赖管理工具CocoaPods 使用
第一次下载项目之后请看这里cocoaPods简介CocoaPods是为IOS程序提供依赖管理的工具。它的项目源码在GitHub上管理,所以下载起来很方便,使用CocoaPods可以节省设置、更新第三方开源库的时间。安装CocoaPods安装是使用了Ruby的gem命令安装,Mac自带的工具。命令如下://如果你的网络不能翻墙,建议先看下后面的【附录1】sudo gem install coc原创 2015-09-06 20:17:37 · 556 阅读 · 0 评论 -
iOS之旅--显示网络图片和base64二进制图片
IOS之旅–显示网络图片和base64二进制图片显示网络图片在这里我使用的是SDWebImage源码,首先我们需要下载SDWebImage的源码,地址为:https://github.com/rs/SDWebImage把下载下来的代码中得 SDWebImage文件夹导入(copy)工程中,需要用到网络下载图片的地方,引入头文件 #import "UIImageView+WebCache.h"原创 2015-09-02 15:41:51 · 10247 阅读 · 0 评论 -
iOS之旅--使用控件的属性frame、center、bounds
属性使用总结frame: 是 CGRect 格式,struct CGPoint { CGFloat x; CGFloat y;};typedef struct CGPoint CGPoint;struct CGSize { CGFloat width; CGFloat height;};typedef struct CGSize CGSize;struct CGRect {原创 2015-09-21 09:15:26 · 1062 阅读 · 0 评论 -
iOS 之旅--自定义开始界面
有些时候我们不想用创建项目给的故事板,(创建项目默认使用的 ViewControl 是因为,故事板里面的 ViewControl 关联的是我们的 VIewControl 脚本,把这个的关联删除,你会发现,再运行程序就不是默认的那个调用 ViewControl 脚本了。这里就需要使用下面的办法,让他第一个被调用出来。) (写的有点绕,做下记录而已!)- (BOOL)application:(UIAp原创 2015-09-21 10:34:21 · 563 阅读 · 0 评论 -
iOS 之旅--视频收获笔记(持续更新)
1、用代码搭建界面的时候,可以使用 getter 的方法去实现每个控件的创建,@property (nonatomic, strong) IBOutlet UILabel *pageLabel;………………省略- (UILabel *) pageLabel{ if (_pageLabel == nil) { _pageLabel = [[UILabel alloc] ini原创 2015-09-21 15:46:48 · 539 阅读 · 0 评论 -
iOS之旅--工具Reveal的使用
Reveal是一个iOS程序界面调试工具。使用Reveal,我们可以在iOS开发时动态地查看和修改应用程序的界面。对于动态或复杂的交互界面,手写UI是不可避免的。通过Reveal,我们可以方便地调试和修改应用界面,免去了每次修改代码后重新启动的痛苦。1、首先需要下载Reveal工具,可以在下面链接下载http://revealapp.com/download/2、下载之原创 2015-08-25 15:42:51 · 6032 阅读 · 0 评论 -
iOS之旅--封装NavigationController
封装导航控制器现在的应用一般都需要导航一致(返回按钮统一,标题背景统一等等)所以就根据UINavigationController封装了一个导航,具体核心如下:* 统一设置返回按钮 * 统一设置UINavigationBar * 由于封装会使右滑返回失效,需要添加代理设置github下载地址:KSNavigation—-github如图: 以下为解决方案:统一设置返回按钮/** * 能拦原创 2015-12-09 13:49:38 · 4377 阅读 · 0 评论 -
iOS之旅--处理跳转
iOS之旅–处理跳转项目中有一些需要跳转界面,整理一下不同的跳转。我的项目中有tabbar有4个选项,每个界面进入基本都有网络请求第一种——跳转到某一个tabbar的主页/** 跳转到首页 */- (void)goToHomeView{ //index从 0 开始,我这里有4个tabbar,就是0,1,2,3 self.navigationController.tabBar原创 2015-12-23 15:55:31 · 890 阅读 · 0 评论 -
iOS之旅--轮播图封装使用教程
轮播图封装使用介绍ScrollImageView.hScrollImageView.m 这两个文件拷贝到工程即可使用,scrollview 的宽高在ScrollImageView.h里面调整,//之前为了省事用的屏幕宽高#define ScreenSize [UIScreen mainScreen].bounds.size#define ScrollWidth ScreenS原创 2016-02-17 11:28:11 · 1003 阅读 · 0 评论 -
iOS之旅--scrollView实现无限轮播
scrollView实现无限轮播这里为了实现真实的无限轮播,采用了 n+2 张图片轮播,代码控制,显示 第2 ~ 第n+1张图片。1、第1、n+1个图片一样,第2,n+2 个图片一样,2、手动实现循环滚动,scrollView滚动结束调用的两个方法:3、计时器原创 2016-02-16 20:40:53 · 3379 阅读 · 0 评论 -
iOS开发之旅--React native使用IDE推荐webstorm
使用了atom,挺费劲的,后来又装了webStorm,感觉挺不错,下载地址:https://www.jetbrains.com/webstorm/download/虽然收费,但是在大中华破解遍地都是,找了一个破解办法,如下: 安装完webStorm之后,激活界面选择第二个License server,下面输入框输入http://idea.lanyus.com,确定即可!原创 2016-03-16 15:50:42 · 3555 阅读 · 0 评论 -
iOS之旅--首尾式动画初学总结
使用首尾式动画大概有以下 API:[UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:2]; self.iconBtn.bounds = bounds; [UIView commitAnimations];//[UIView setAni原创 2015-09-20 15:36:47 · 1151 阅读 · 0 评论