
IOS
开发仔XG
小小程序猿...
展开
-
iOS开发 WKWebView和js的交互(vue.js)
废话少说,直接上代码:原生代码://// WKWebViewController.m//// Created by 小韭小菜 on 2022/4/13.//#import "WKWebViewController.h"#import <WebKit/WebKit.h>#import <Masonry/Masonry.h>// 进度条static NSString *const kEstimatedProgressKey = @"estimatedProg原创 2022-04-26 18:08:54 · 2412 阅读 · 2 评论 -
iOS开发 引入支付宝 缺少 #include <openssl/asn1.h>
在你的Xcode里的 Build Setting --> header search paths 里添加支付宝SDK(openssl的路径),格式:$(PROJECT_DIR)/文件夹路径, 可以直接选中openssl,右键Show in Finder,然后右键查看简介,赋值位置(也就是路径),就ok了, 记得不要包含openssl文件夹, 写上会找不到;原创 2016-04-15 14:06:31 · 3322 阅读 · 0 评论 -
iOS开发,常用的一些模块:日历、日期选择、CollectionView等的测试
最近慢慢整理了一个demo,持续更新中,地址:https://github.com/XGPASS/XGDevelopDemo原创 2016-09-12 15:29:50 · 1347 阅读 · 0 评论 -
iOS开发 关于CocoaPods安装和使用(图文并茂版)
原文地址:http://coder-lee.lofter.com/post/3b0173_134150aCocoaPods是什么?在iOS开发中势必会用到一些第三方依赖库,比如大家都熟悉的ASIHttpRequest、AFNetworking、JSONKit等。使用这些第三方类库能极大的方便项目的开发,但是,集成这些依赖库需要我们手动去配置,例如集成ASIHttpRequest库时除了加入...原创 2015-08-13 16:04:33 · 1454 阅读 · 0 评论 -
iOS开发 选择日期的view 一(UIDatePicker的封装)
之前写了个基于类簇的自定义选择日期的view的封装,现在看看,感觉代码挺操蛋的,还是抽出来,只显示UIDatePicker的封装吧//// XGChoseDateView.h// XGDevelopDemo//// Created by 小广 on 15/8/18.// Copyright © 2015年 小广. All rights reserved.// 选择日期的v原创 2016-08-31 14:13:37 · 3543 阅读 · 0 评论 -
React Native学习之自定义NavigationBar
之前学习React Native的时候,版本还是0.20,问题一大堆,Navigation这个问题更是很多,首先,是NavigationBar的问题,NavigationIOS有NavigationBar,Navigation却需要自定义一个,最后,我想了想,还是自定义一个view,岂不更好,现在新公司不用RN,我正好有点时间,就把自定义的NavigationBar分享给大家。好了少废话,上代码;原创 2016-08-05 11:07:39 · 7397 阅读 · 17 评论 -
iOS开发 UISearchController的cancel按钮自定义中文取消,改变按钮标题颜色,去掉边框线
UISearchController的cancel按钮自定义中文取消 有两种方法一:遍历法- (void)updateSearchResultsForSearchController:(UISearchController *)searchController { // //修改"Cancle"退出字眼,这样修改,按钮一开始就直接出现,而不是搜索的时候再出现 sear原创 2016-09-21 09:40:11 · 5415 阅读 · 0 评论 -
iOS开发 一个项目中多个target(例:企业版和AppStore版)
一个项目,会有企业版和AppStore版两种需求,把一个项目copy一份,用作AppStore或企业版,这种做法,是要被拖出去打死的。一个项目中多个target,这是木有问题的,切换一下target,运行一下,就是一个新项目,这才是正确的选择;原创 2016-06-16 16:32:31 · 3148 阅读 · 2 评论 -
iOS开发 AFN配置https请求
一.项目中的网络交互都是基于AFN,要求AFN版本在3.0及其以上;二.代码部分 设置AFN请求管理者的时候 添加 https ssl 验证。// 1.获得请求管理者AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];// 2.加上这个函数,https ssl 验证。[manager setSecurityPo原创 2016-10-17 15:34:05 · 10785 阅读 · 2 评论 -
iOS开发 pod管理项目,多个target管理的Podfile的写法
一个项目中多个target,使用pod管理时,出了问题,最后解决:主要是Podfile的写法platform :ios, '8.0'# 多个target共用一套pod的写法,项目中不能有名字为CommonPods,防止冲突;abstract_target 'CommonPods' do# 共用的pod第三方pod 'AFNetworking'pod 'IQKeyboardMana原创 2016-10-24 17:02:23 · 8817 阅读 · 0 评论 -
iOS开发 UIScrollView自带的缩放功能(简单的例子)
//scroll 的最大放大比例 self.scrollView.maximumZoomScale = 2.0; //scroll 的最小缩小比例 必须大于零 self.scrollView.minimumZoomScale = 0.3;原创 2015-09-01 15:14:04 · 927 阅读 · 0 评论 -
iOS开发 iOS8 分割线右移15像素 将其归零
#pragma mark - **iOS8 分割***************// iOS8 分割线右移15像素 下面将其归零// 目的是去除没有内容的cell的分割线(适用于没有tableFooterView的tableView)或者选择table的style为group,就不用写下面的代码tableView.tableFooterView = [[UIView alloc] init];原创 2015-08-17 15:39:04 · 978 阅读 · 0 评论 -
React Native学习之Modal控件自定义弹出View
RN学习,好多知识都懒得写,趁今天有空,来一发吧,Modal控件的一个小demo;参考文章地址:http://reactnative.cn/docs/0.27/modal.html#content原创 2016-06-12 16:40:16 · 18144 阅读 · 1 评论 -
iOS开发 Method Swizzling 方法替换
关于Method Swizzling,有位大神介绍的很详细了,地址:Objective-C的hook方案(一): Method Swizzling其实呢,菜逼一个的我不怎么懂,就把我项目中用到的贴上来吧:代码:(写在NSObject的类别里 需要引入#import )@implementation NSObject (Swizzle)+ (void)swizzleMethod:(S原创 2016-06-28 11:09:23 · 958 阅读 · 0 评论 -
iOS开发 扩大UIButton的响应区域
// 扩大点击范围的类别#import @interface UIButton (EnlargeEdge)- (void)setEnlargeEdge:(CGFloat)size;///< 设置按钮扩大响应区域的范围/** * @brief 详细设置按钮扩大响应区域的范围 * * @param top 按钮上方扩展的范围 * @param right原创 2015-07-31 15:40:40 · 1473 阅读 · 0 评论 -
iOS开发 UITabBar角标 红点形式 (tabBarItem.badgeValue)
有人问到tabbar上自定义角标红点形状,翻了翻以前的项目,找到了,也忘了参考谁的,反正闲着蛋疼,记录一下;系统的角标 系统有方法,tabBarItem.badgeValue=@"1" 有些需要自定义的,代码如下(UITabBar的类别).h里代码//// UITabBar+XSDExt.h// XSD-PK UITabBar类别//// Created by 小原创 2016-06-28 18:39:37 · 13662 阅读 · 0 评论 -
iOS开发 终端的插件Oh My Zsh
mac安装配置Oh My Zsh 打开终端 粘贴下面的代码:sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"Oh My Zsh地址:https://github.com/robbyrussell/oh-my-zsh原创 2016-08-01 15:32:44 · 802 阅读 · 0 评论 -
Xcode Package Manager 安装
Alcatraz 是一个 Xcode 上开源的包管理器(package manager),你可以用它去发现或者安装插件、模板、颜色主题等,而不必手动地克隆复制文件。它和 Xcode 无缝整合在一起。现在 Alcatraz 支持 Xcode5 了。Alcatraz 源码地址在:https://github.com/supermarin/Alcatraz从 Window原创 2015-11-06 11:30:15 · 2130 阅读 · 0 评论 -
Jenkins自动打包 配置mac slave节点
Jenkins自动打包搞了一周了,还是磕磕绊绊的没完全搞定;我现在的需求是在一台Windows上部署Jenkins环境,然后配置一些节点,在其他机器上打包;搞iOS的,当然配置mac slave节点了,下面,我把踏过的一些坑,展示一下;1.首先,打开Jenkins,新建节点原创 2016-08-16 16:07:52 · 9665 阅读 · 0 评论 -
iOS开发 程序后台上传位置CLLocationManager
之前开发一款配送员用的APP时,用到了在程序在后台时,可以不断上传位置的功能,今天略微整理了一下,主要用到系统的CoreLocation代码:#import #import @interface XSDLocationTools : NSObject+ (XSDLocationTools *)shareInstance;// 开启定位- (void)startLocationS原创 2016-08-02 14:31:30 · 2024 阅读 · 0 评论 -
iOS开发 提示框UIAlertController的略微封装
之前写的代码,把UIAlertView的封装剔除之后,发现UIAlertController 封装的意义不是很大了,毕竟苹果公司封装的已经够好了,好了,上代码原创 2016-08-29 14:07:21 · 3936 阅读 · 1 评论 -
iOS开发 单例类,拨打电话以及禁用导航条的侧滑功能和隐藏导航底部的线 跳转系统设置页面
static UserInfoCenter *userInfo = nil; static dispatch_once_t onceDBToken; dispatch_once(&onceDBToken, ^{ userInfo = [[UserInfoCenter alloc]init]; });原创 2015-08-07 18:08:40 · 848 阅读 · 0 评论 -
iOS开发 iOS8系统新出cell侧滑View
侧滑删除、置顶、取消关注,在iOS8之前需要我们自定义,iOS8时苹果公司推出了新的API,UITableViewRowAction类1.OC版本// 必须写的方法(否则iOS 8无法删除,iOS 9及其以上不写没问题),和editActionsForRowAtIndexPath配对使用,里面什么不写也行- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingSt原创 2015-09-07 10:29:57 · 2000 阅读 · 2 评论 -
iOS开发 WKWebView使用第三方库WebViewJavascriptBridge 以及js端处理
最近项目换了WKWebView,怎么和Java共用一套js端代码,和同事研究了一下,最后搞定。WebViewJavascriptBridge地址:https://github.com/marcuswestin/WebViewJavascriptBridgeiOS端代码:参考链接:http://www.jianshu.com/p/e951af9e5e74原创 2016-11-05 10:34:45 · 11149 阅读 · 0 评论 -
iOS开发 防止UIButton,cell等重复点击
主要是快速点击button或者cell,所对应的action或者逻辑会走多次,例如:点击button或者cell调用拨打电话的方法,会弹出拨打电话框好多次;这个对用户不太友好;问了下哥们儿,他给了个宏,目前算是解决这个问题;代码如下:// 防止多次调用#define kPreventRepeatClickTime(_seconds_) \static BOOL shouldPrevent; \原创 2017-09-28 14:17:52 · 1580 阅读 · 0 评论 -
iOS开发 代码截图相关
截取指定的View:/// 截屏- (void)actionForScreenShotWith:(UIView *)aimView savePhoto:(BOOL)savePhoto { if (!aimView) return; UIGraphicsBeginImageContextWithOptions(aimView.bounds.size, NO, 0.0f)原创 2017-06-13 14:55:57 · 561 阅读 · 0 评论 -
iOS开发 UICollectionView横向滑动
UICollectionView的横向滚动,目前我使用在了显示输入框的输入历史上;//// SCVisitorInputAccessoryView.m// 访客通行录入页面--访客姓名输入历史的InputAccessory#import "SCInputAccessoryView.h"#import "SCInputAccessoryCell.h"#define SCHori...原创 2018-02-09 17:16:09 · 30655 阅读 · 0 评论 -
iOS开发 给view绘制虚线边框
给view绘制虚线边框- (void)layoutBorderToLayer:(UIView *)view { CAShapeLayer *border = [CAShapeLayer layer]; // 线条颜色 border.strokeColor = [[UIColor blackColor] colorWithAlphaComponent:0.8].CGCol...原创 2018-08-04 15:30:22 · 926 阅读 · 0 评论 -
iOS开发 适配iPhone XS Max/iPhone XR
1、首先替换启动图啊骚年iPhone XR:828px x 1792pxiPhone XS Max: 1242px x 2688px2、修改之前判断是否是iPhoneX的代码如果你以前是使用设备尺寸来判断iPhone X那就需要修改了,判断iPhone X主要是因为刘海的原因可能要做些特殊处理。鉴于iPhone X/XS/XR/XS Max底部都会有安全距离,所以可以利用safe...原创 2018-09-14 13:37:45 · 4703 阅读 · 0 评论 -
iOS开发 ipa包的重签名
iOS重签名使用场景我们的项目,线上使用的是企业版应用,其配置文件即将过期,所以需要更新应用。我们以前的做法是使用源代码重新重新打包,这对于一直在维护的项目不是什么问题;但是和达项目之前使用的是Xcode6打的包,一直没有切换到新版的Xcode,之前有同事测试过,如果使用Xcode8打包的话会有很多界面适配的问题;对于这种小项目,也没有新的功能,我们不希望花大的精力去做这些事情,我们想要的只是...原创 2018-11-09 14:11:47 · 755 阅读 · 0 评论 -
iOS开发 开发笔记:左title右图片按钮的处理
笔记:左title右图片按钮的处理/// 左title右图片按钮的处理- (void)resetButtonTitleImage:(UIButton *)button { if (!button) { return; } //注意不能直接使用titleLabel.frame.size.width,原因为有时候获取到0值 CGFloat ...原创 2019-01-17 09:17:06 · 168 阅读 · 0 评论 -
iOS开发 开发笔记,图片裁剪成正方形图片;
/// 裁剪图片,以宽度为标准,裁剪成正方形图片,size = (width,width)- (UIImage *)cutImageWithImage:(UIImage *)image { if (!image) { return nil; } /// 当前屏幕分辨率 CGFloat scale = [UIScreen mainScreen].s...原创 2019-01-23 13:52:52 · 1184 阅读 · 0 评论 -
iOS开发 WKWebViewJavascriptBridge Xcode9上导致crash的解决方法
WKWebViewJavascriptBridge 这个第三方还是比较不错的,但是最近Xcode9上,却出现了crash;WKWebViewJavascriptBridge官方github看了大家也都有如此问题,最后解决了;- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction原创 2017-09-25 13:54:19 · 3702 阅读 · 3 评论 -
iOS开发 iOS 10拨打系统电话,弹出框延迟出现问题
iOS 10拨打系统电话发现弹出框会延迟2s左右出现,很不爽,研究了一下,发现是openURL在iOS 10及其之后会阻塞主线程所以,拨打电话前,做个判断,来代码,// 拨打电话+ (void)callPhone:(NSString *)phoneNum { if (phoneNum.length == 0) { return;原创 2017-03-31 16:26:54 · 5336 阅读 · 0 评论 -
iOS开发 获取当前视图最顶层的ViewController
获取当前视图最顶层的ViewController+ (UIViewController *)currentViewController { UIWindow * window = [[UIApplication sharedApplication] keyWindow]; if (window.windowLevel != UIWindowLevelNormal){原创 2017-08-05 15:08:11 · 1434 阅读 · 0 评论 -
ios 页面向上滚动显示toolbar/searchBar 页面向下滚动隐藏toolbar/searchBar
适用于UITableView和UIScrollView页面向上滚动显示toolbar 页面向下滚动隐藏toolbar不啰嗦 上代码// 滚动判断@property (nonatomic, assign) CGFloat startY;@property (nonatomic, assign) BOOL searchBarShow; // searchBar原创 2015-03-18 11:04:37 · 1037 阅读 · 0 评论 -
iOS开发 获取系统HealthKit的步数
iOS10之后需要在info.plist添加权限,以便访问HealthKit;关于HealthKit获取步数,我写了一个类,以方便使用;// Created by 小广 on 2016/10/31.// Copyright © 2016年 All. All rights reserved.// 健康数据的帮助类#import typedef void(^SCHealthB原创 2016-11-01 11:27:12 · 2203 阅读 · 0 评论 -
iOS开发 iOS 10及其以上,UITextField输入时文字往下偏移问题
这个问题,在很早之前都有,一般很少出现,但是iOS 10后,系统字体变大了,导致这个问题出现次数多了;网上搜索了一些答案,下面我列一下别人和我自己项目中的解决方法:方案一:(我自己项目中解决方法)xib时选择带边框的,线拉出属性,再在viewDidLoad里设置成无边框样式方案二:(对于切换后台后切换回来导致的光标下移问题是有效的)self.automaticallyAdjus原创 2017-04-19 09:35:00 · 3214 阅读 · 0 评论 -
iOS开发 pod install遇到的问题If none exists, create a ticket, with the template displayed above
[!] Oh no, an error occurred. Search for existing GitHub issues similar to yoursIf none exists, create a ticket, with the template displayed above, on: https://github.com/CocoaPods/CocoaPods/issues/new Be sure to first read the contributing guide fo原创 2016-08-11 11:09:53 · 2982 阅读 · 0 评论 -
iOS开发 手势密码解锁和指纹TouchID解锁
越来越多的app都是用指纹解锁(下面都用TouchID表示),现在略微来讲解一下TouchID(文末的demo里TouchID和手势解锁都有,这里只介绍TouchID)原创 2017-03-17 09:34:24 · 6619 阅读 · 0 评论