4 ProgramDog_Chris

尚未进行身份认证

暂无相关描述

等级
TA的排名 9w+

利用runtime为封装MJRefresh的分类添加分页页码属性

需求:对MJRrefresh进行一层基础封装,实现多种方法并可在全局调用。在MJRrefresh加载数据完成后返回分页页码方法:为UIScrollView添加基于MJRefresh的分类(Category)。由于Category中使用@property并不能在分类中正确创建实例变量和存取方法。在Runtime中,objc_class结构体大小是固定的,不可能往这个结构体中添加数...

2019-08-02 16:09:05

MJRefresh上拉分页时提前加载(保证视频播放列表在划动分页时顺畅播放)

如上图,视频播放列表有20个条目,当从第20条时继续上拉时,直到上拉完成才进行下一页的数据加载,产生了上图的跳动,极为影响用户体验。解决方式:翻看源码头文件,找到如下图所示属性在刷新方法的代码中为该属性设置一个偏移值,当上拉达到偏移值时,便开始加载数据-(void)addFooterPreloadWithAutomaticallyRefresh:(BOOL)automa...

2019-07-31 18:00:41

UISlider滑块大小与高度的自定义

需求:需要自定义UISlider的高度及滑块大小(UISlider滑动条的高度及滑块大小系统默认给我们设定了,没有办法进行改变。)方法:滑块大小可以通过设置滑块图片,图片大小为滑块需要大小实现;滑块高度需要写一个UISlider的子类,重写系统方法代码:下面代码在自定义Slider中将高度固定死,若要复用可通过增加高度属性完成OC版本://MXSlider.h#i...

2019-07-31 16:43:54

iOS - 获取UIImage所在的系统路径

需求1:从相册选择图片要获取图片的路径代码:如果我们得到PHAsset的对象(itemModel.asset),我们可以通过PHAsset获取到图片的路径,名称,大小。PHImageManager.default().requestImageData(for:itemModel.asset,options:nil){(imageData,_,orientation,i...

2019-07-26 11:11:25

Swift - 实现数组的深拷贝

关于数组深浅拷贝问题可参考关于strong,copy,深拷贝,浅拷贝的整理这篇文章,本文不再详述。在此仅列举一具体案例,并记录解决方式,以供参考。json数据结构:json={"data":{"data":[{"shop_id":1,"product_list":[{...

2019-05-29 12:21:37

tableViewCell嵌套collectionView,执行reloadData时跳动问题记录

如上图,热销下的多方格为tableViewCell中嵌套的collectionView,在添加商品成功并刷新tableView时,发生不规则跳动问题。问题原因:tableView中的所有Cell均采取自适应高度(UITableView.automaticDimension),且estimatedRowHeight未给予合理的高度。每当重新刷新table时,由于没有合适的预高度,从刷新t...

2019-05-24 10:58:36

MARK:打开旧项目遇到问题

1. xxxhasconflictingprovisioningsettings打开项目的project.pbxproj文件,全局搜索b9c32186-a5ad-43dd-a910-1c639b1ad5c3,把指定行删除然后保存参考链接-I 2. Multiplecommandsproduce'....../Info.plist'解决方案:选择xcode...

2019-01-04 10:35:05

iOS设置指定位置圆角(swift)

思路:1、用贝塞尔曲线绘制指定圆角路径 2、创建一个CAShapeLayer,设置shapeLayer.path等于绘制的路径 3、将shapeLayer作为控件的layer.mask代码:1.在UIView的扩展类--Extension+UIView中,添加以下方法:funcconfigRectCorner(corner:UIRectCorner,radii:CG...

2018-11-22 18:01:25

iOS项目上传至AppStore问题汇总

 Problem1: InvalidSwiftSupport -ThefileslibswiftPhotos.dylib,...... don’tmatch /Payload/stylist.app/Frameworks/libswiftPhotos.dylib,......构建版本并成功上传至iTunesConnect,版本被拒并受到邮件,内容如上Answe...

2018-11-15 11:29:38

UICollectionView进行ReloadData时,隐式动画解决

在刷新请求后对CollectionView进行reloadData,产生如上图所示的隐式动画效果。解决方式:[self.collectionViewreloadData];[UIViewanimateWithDuration:0animations:^{[self.collectionViewperformBatchUpdates:^{[self...

2018-10-25 16:09:37

旧项目引入CocoaPods遇到的坑

在给旧的项目引用CocoaPods时,当创建好Podfile后,进行podinstall指令。控制台发出如下信息,若直接编译则遇到 ld:librarynotfoundfor-lPods-XXX的报错。  这是关联路径不对,所以查找不到关联库。应该是新版pods对关联库这块进行了更新,Pods-XXX变成XXX,而clone下来的项目的buildsettin...

2018-09-06 18:15:45

Cell上textField键盘的收回

 采用在Controller中,为TableView添加手势的方法,当点击时停止编辑在ScrollView的代理方法中添加方法,当滑动时停止编辑 -(void)scrollViewWillBeginDragging:(UIScrollView*)scrollView{  [self.tableViewendEditing:YES];}   ...

2018-06-20 10:29:12

RN项目中使用ESLint

ESLint 是用来检查我们写的 JavaScript代码是否满足指定规则的静态代码检查工具。通过用ESLint来检查一些规则,我们可以:统一代码风格规则,如:代码缩进用几个空格;是否用驼峰命名法来命名变量和函数名等。减少错误,如:相等比较必须用===,变量在使用前必须被声明,在条件语句中不能使用赋值语句等。提高代码质量,如:函数最多有多少条件分支;最多有几个参数,代码块最多能嵌套多少层...

2018-05-11 10:19:55

RN项目中接入 Mob-X

参考链接:Mobx仓库: https://github.com/mobxjs/mobxMobx-react仓库: https://github.com/mobxjs/mobx-reactMobx中文文档: http://cn.mobx.js.orgmobx-react原理解析: 点击打开链接安装:npminstallmobx--savenpminstallmobx-react-...

2018-05-03 11:02:08

RN中通过 callback 改变 state

Introduction:   TestNetwork中有两个按钮,点击后在testNetworkModel中请求到数据后,通过callback回传,改变state并显示。classtestNetworkModel{  constructor(codeCallback,mailCallback){    this.cCallback=codeCallback; //验...

2018-04-23 11:47:27

React Native 常用命令

Yarn命令文档:https://yarnpkg.com/zh-Hans/docs/cli/ 点击打开链接npm中文文档: https://www.npmjs.com.cn 点击打开链接 参考:Yarn命令使用: https://blog.csdn.net/mjzhang1993/article/details/70092902 点击打开链接1.查看当前reactNative版本react...

2018-04-20 14:59:08

RN中 ref 的使用

Introduction:  ChatFootBar为ChatScreenIndex中用到的一个组件。在ChatScreenIndex中,当监听到某一事件发生时,在ChatFootBar组件中显示一个提示的AnimatedView,若干秒后AnimatedView渐变消失。 ChatScreenIndex://定义chatFootchatFoot=null;//...

2018-03-30 11:21:27

SourceTree保存密码--解决每次pull、push都要输入两次密码的问题

1、SourceTree每次Pull和Push时都要输入密码,确实很不方便:2、提供一个简单的解决方法,即在远程仓库的url中显示输入username和password,每次就不用再重复输入,当然也有一定的安全隐患,可根据实际情况决定是否采用。1)选中菜单:Repository(仓库)--Repositorysettings(仓库设置)--Remotes--选中u

2017-12-11 11:27:34

模态弹框Vc

MXPayViewController*pVc=[[MXPayViewControlleralloc]init];pVc.modalPresentationStyle=UIModalPresentationOverFullScreen;[selfpresentViewController:pVcanimated:NOcompletion:nil];

2017-08-07 22:56:53

-[__NSCFDictionary setObject:forKey:]: mutating method sent to immutable object' 解决方法

-[__NSCFDictionarysetObject:forKey:]:mutatingmethodsenttoimmutableobject'解决方法:错误:NSMutableDictionary*d=[[[NSUserDefaultsstandardUserDefaults]objectForKey:@"xxxx"]mutableCopy];修改:NS

2017-08-07 15:27:18

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。