iOS 折线图、柱状图的简单实现
首先我得感谢某位博主,非常抱歉,因为之前直接下载博主提供这篇文章的demo,然后去研究了,没记住博主的名字。再次非常感谢。 而这个dome我又修改了一些,完善了一些不美观的bug,当然还有,后面会陆续更新。 1 、一开始需要给坐标轴初始一个画布 初始化画布+(instancetype)initW...[2018/12/5]
iOS 判断两个颜色是否相同
今天做项目的时候,遇到一个小问题,就是获取UIButton的背景颜色用来和已知颜色做对比,进行点击事件。去查了下文档,有个方法正好可以处理这个问题。
bool CGColorEqualToColor (CGColorRef color1, CGColorRef color2);
...[2018/12/5]
iOS开发简记(9):APPStore审核
"觅知音"这个APP的第一个版本从提交审核到上架,历时三个星期,其中遇到一些审核上的问题,它的处理或许能帮助到遇到同样问题的小伙伴们,所以这里列举出来,这三个星期如何跟苹果的审核团队“斗智斗勇”。
(1)Guideline 2.1 - Information Needed
这是问题的标题,问题下...[2018/12/3]
iOS 多线程 NSOperation、NSOperationQueue
1. NSOperation、NSOperationQueue 简介
NSOperation、NSOperationQueue 是苹果提供给我们的一套多线程解决方案。实际上 NSOperation、NSOperationQueue 是基于 GCD 更高一层的封装,完全面向对象。但是比 GCD ...[2018/12/3]
ipa的plist文件查看ipa的plist文件查看
1、ipa包解压缩:右键.ipa包,使用【归档实用工具/unarchiver】打开
2、进入解压缩后的payload目录,右键ipa包-显示包内容
3、找到info.plist文件,直接拖拽出来
4、使用plist编辑器打开?info.plist,就可以查看CFBundleDispl...[2018/12/3]
Windows下修改iTunes备份路径
0.准备工作:
关闭itunes
在任务管理器中杀掉iTunes开头的服务
1,找到iTunes默认备份路径:C:\Users\xxx\AppData\Roaming\Apple Computer\MobileSync
xxx为里的用户名
2,删掉默认路径下的MobileSync文件夹,...[2018/12/3]
iOS NSNotificationCenter通知中心使用小结
前言
最近公司组织两个星期的新人培训,事情安排的满满的,周末都没有。说好的一个星期一更新的博客中断了,让大家久等了,现在培训结束,终于又可以安安静静的做一个程序员了,好开心。。。
一、NSNotification和Delegate的联系和区别
众所周知,IOS中经常会使用到NSNoti...[2018/12/3]
iOS多线程GCD的使用iOS多线程GCD的使用
1. GCD 简介
Grand Central Dispatch(GCD)是异步执行任务的技术之一。一般将应用程序中记述的线程管理用的代码在系统级中实现。开发者只需要定义想执行的任务并追加到适当的Dispatch Queue中,GCD就能生成必要的线程并计划执行任务。由于线程管理是作为系统的一部分...[2018/11/30]
【OC底层】AssociatedObject 关联对象
如何实现给分类“添加成员变量”?
默认情况下,因为分类底层结构的限制,不能添加成员变量到分类中。但可以通过关联对象来间接实现
关联对象提供了以下API
1> 添加关联对象
void objc_setA ociatedObject(id obj...[2018/11/30]
学习iOS最权威的网站
一、Apple 开发者网站 官方文档
https: developer.apple.com/documentation
除了这两个、还有 Core Foundation Core Animation...[2018/11/30]
iPhoneX 媒体查询适配的方法教程
iPhone X尺寸
5.8 英寸
5.65 x 2.79 x 0.30 英寸
iPhone X分辨率
1125 x 2436
每英寸PX~458 像素
屏幕尺寸
Apple iPhone X的屏幕为5.8英寸,约为实际设备尺寸的82.9...[2018/11/30]
Mac下Anaconda的安装和使用教程
前提
在刚接触python的时候我想大多数人都会面临一个问题,我到底是选择2还是3,因为现在网上好多的资料和视频项目中都还是用的2,我们跟着学习的时候肯定也是首先从2开始学的,但是我们心里肯定也担心学2会不会跟不上技术的发展,毕竟3才是最新的,而且将来的项目势必也都会逐渐去支持最新的3,这个时...[2018/11/30]
iOS 开发 nonatomic 和 atomic
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #007400; background-color: #ffffff }
nonatomic : 非原子属性
&nbs...[2018/11/29]
iOS证书配置与管理
证书:
证书:命名特点团队管理
开发证书
iOS Development
不与App ID对应 表示拥有开发应用的资格
一般只需一个,通过导出p12文件,分发给其他电脑安装;
生产证书
iOS Distribution
不与App ID...[2018/11/28]
iOS-AFN Post JSON格式数据iOS-AFN Post JSON格式数据
- (void)postRequest{
AFHTTPSe ionManager *manager = [AFHTTPSe ionManager manager];
>>>>>>>> post 发送json格式数据的时候加上
...[2018/11/28]
iOS- XKZoomingView 简单的图片预览,支持横屏【手势:单击、双击、放大缩小】
XKZoomingView.h
#import <UIKit/UIKit.h>
@interface XKZoomingView : UIScrollView
/**
本地图片
*/
@property (nonatomic, strong) UIImage *mainIma...[2018/11/28]
iOS----------Bad Gateway
今天项目因为元数据被拒,再次提交去编辑APP时,发现进不了我的APP界面,出现了如下情况,大概有10多分钟 ,一直进不去 ,公司网络一直不稳定,于是打开了我的VPN,然后就可以了。
[2018/11/28]
iOS字体相关iOS字体相关
1.使用自定义字体
(1)将字体文件导入项目
(2)在info.plist文件中添加 Fonts provided by application
(3)获取字体在项目中的名称
for fontFamilyName in UIFont.familyName...[2018/11/27]
iOS开发者学习Flutter
Flutter for iOS 开发者 本文档适用那些希望将现有 iOS 经验应用于 Flutter 的开发者。如果你拥有 iOS 开发基础,那么你可以使用这篇文档开始学习 Flutter 的开发。 开发 Flutter 时,你的 iOS 经验和技能将会大有裨益,因为 Flutter 依赖于移动操作...[2018/11/27]
EatWhat 实用的APPEatWhat 实用的APP
EatWhat 最近比较闲开始学习煮粥,买了好多米和豆子,每天煮的都不一样,试了几天发现有的时候记不住要煮什么粥,所以就写了这个APP。 每天煮粥的时候拿出来看看就可以了,再也不用思考半天要煮什么粥了。
首页 上面显示所有的食材,下面显示的今日计划,所有颜色都为随机的,通过底部按钮可以切换颜色
...[2018/11/27]
NSTimer 不工作 不调用方法
比如,定义一个NSTimer来隔一会调用某个方法,但这时你在拖动textVIew不放手,主线程就被占用了。timer的监听方法就不调用,直到你松手,这时把timer加到 runloop里,就相当于告诉主循环腾出点时间来给timer,再拖动textView就不会因主线程被占用而不调...[2018/11/27]
iOS pthreadiOS pthread
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #007400; background-color: #ffffff }
pthread 是属于 POSIX 多线程开发...[2018/11/27]
OpenGL 球体世界
一、类似公自转
二、核心代码
图形渲染
void RenderScene()
{
清楚缓存区:颜色缓存区、深度缓存区、模版缓存区
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER...[2018/11/27]
iOS简单易用的GCD计时器的实现原理
前言
好久没更新文章了,在掘金第一次发文章,还是给自己立一个flag每周至少更新一篇文章,可能文章的质量还不是很如意,希望通过写文章来提高自己文笔,以及记录自己学习中的遇到的问题解决方案。
在学习iOS过程中,想定大家对于定时器都不陌生,在日常开发中总会碰到需要计时器的功能,常见的定时器有...[2018/11/27]
[iOS]拾遗补阙
一、AFNetworking POST字符串
修改位置AFURLRequestSerialization
修改前
NSString * AFQueryStringFromParameters(NSDictionary *parameters) {
NSMutableArray *m...[2018/11/25]
Python的iOS自动化打包实例代码
前言
这段时间刚刚学习了一段时间的Python,加上自己是做iOS开发的,就想着用Python来做一个自动化打包,可以自动完成打包,上传到蒲公英,并且发送邮箱给测试人员.
一是可以减少打包功夫,二来可以练练手,结合自己的工作来输出一点东西.废话不多说,直接上代码...
原理...[2018/11/25]
详解ios监听reloadData刷新列表完毕的时机
分析:
reloadData 是一个异步方法,并不会等待 UITableView 或者 UICollectionView (后面统称 listView )真正刷新完毕后才执行后续代码,而是立即执行后续代码。我们执行 reloadData 的本意是刷新 listView ,随后会进入一系列的...[2018/11/25]
Info.plist的CFBundleIdentifier、CFBundleName、BundleDisplayName
plist关键字段:
CFBundleIdentifier:应用包名、唯一标识
CFBundleVersion:文件版本号,可以每次发版本递增
CFBundleShortVersionString:appstore显示版本号,每次app store发版递增
CFBundleName:默认设置是等...[2018/11/21]
weex中UISegmentControl实现及遇到的问题
在最近主导的一个项目中,App端的实现使用了weex。通过近一个月的实践,我们发现如果对于人机交互较少的App,即使较少前端经验的人也能迅速进入开发(当然需要一定时间 才能上手weex)。在开发的时候,我们使用了weex-ui库,但也发现其中有一些控件没有实现,如UISegmentControl。...[2018/11/20]
iOS 用KVC设置结构体iOS 用KVC设置结构体
iOS 用KVC设置结构体
在Fundation中KVC提供的键值路径只能访问对象,不能访问结构体。这很不面向对象。
执行下面的语句将会报错:
[self setValue:@(100) forKeyPath:@"view.frame.width.x"]; re...[2018/11/20]
对Link Map File的初步认识对Link Map File的初步认识
什么是Link Map File
Link Map File中文直译为链接映射文件,它是在Xcode生成可执行文件的同时生成的链接信息文件,用于描述可执行文件的构造部分,包括了代码段和数据段的分布情况。Xcode在生成可执行文件的时候默认情况下不生成该文件,需要开发者手动设置Target --&g...[2018/11/20]
iOS蓝牙APP常驻后台
iOS蓝牙类APP常驻后台的实现方法,经过在苹果开发者论坛询问,以及查看苹果开发者文档,最后得出正确的方法为:
1.设置plist,蓝牙权限
2.到target-capabilities-background modes中打开use Bluetooth LE acce ories选项
3.创...[2018/11/20]
深入理解苹果系统(Unicode)字符串的排序方法
Unicode编码 我们知道计算机是不能直接处理文本的,而是和数字打交道。因此,为了表示文本,就建立了一个字符到数字的映射表,叫做编码。最著名的字符编码就是ASCII了,它使用7-bit来表示应用字母表以及数字和其他字符。这对于英语来说是够用了,但是对于其他语言,这个7-bit就不能满足条件了,因...[2018/11/20]
OpenGL 混合功能
一、概念:简言之,即在颜色缓存区和深度缓存区中,新旧颜色的覆盖和替换问题;已经存在于缓存区的为目标颜色,即将进入缓存区的为源颜色;
二、应用场景:在不透明的图形前绘制一个透明的图形;
三、主要代码实现
核心代码
void RenderScene()
{
清除缓存区
...[2018/11/20]
[iOS]异常捕捉
UncaughtExceptionHandler.h
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface UncaughtExceptionHandler : NSObject
@end
...[2018/11/20]
【OC底层】Category、+load方法、+initialize方法原理
Category原理
- Category编译之后的底层结构是 struct categroy_t,里面存储着分类对象方法、属性、协议信息- 当程序运行时,通过runtime动态的将分类的方法、属性、协议合并到一个大数组中- 底层使用的是二维数组进行存储,比如:[[分...[2018/11/16]
详解IOS微信上Vue单页面应用JSSDK签名失败解决方案详解IOS微信上Vue单页面应用JSSDK签名失败解决方案
背景
手机型号:
型号:iphone 7 / iphone xs max
版本:ios 10.3.1 / ios 12.1
微信版本:WeChat 6.7.3
问题还原:
Vue应用(vue-router)上使用history模式,在某个页面内调用微信JSS...[2018/11/15]
虹软人脸识别iOS SDK2.0
最近公司要在APP上添加一个人脸识别功能,在网上搜了一圈,发现虹软的人脸识别SDK挺好用的,而且还免费,所以就下载了他们的SDK研究了一下。总的来看功能挺好用的,只是demo上面部分功能不是很完善,所以就在官方demo的基础上改动了一些小的功能。
新增功能: 1. 通过图片注册人脸 2. 增加列...[2018/11/14]
iOS开发必会的坐标系探究iOS开发必会的坐标系探究
前言 app在渲染视图时,需要在坐标系中指定绘制区域。 这个概念看似乎简单,事实并非如此。 When an app draws something in iOS, it has to locate the drawn content in a two-dimensional space define...[2018/11/14]
iOS 12.1 跳转页面时 tabBar闪动
最新iOS 12.1系统, self.hidesBottomBarWhenPushed = YES,tabBar发生闪动
设置为不透明就行了。 [[UITabBar appearance] setTranslucent:NO];[2018/11/13]
静态库打包——.a和.framework文件
Mac端 Open GL初探
一、环境配置
1.创建macOS工程
2.添加OpenGL.framework和GLUT.framework两个系统库
3.拖入资源文件
如果libGLTools.a问价先拖入到工程其他位置,后再移到frameworks文件夹下,则链接错误
&nb...[2018/11/8]
iOS 防止UIButton重复点击
使用UIButton的enabled或userInteractionEnabled
使用UIButton的enabled属性, 在点击后, 禁止UIButton的交互, 直到完成指定任务之后再将其enabled即可.
[btn addTarget:self action:@sel...[2018/11/8]
【OC底层】KVC原理
定义
KVC的全称是Key-Value Coding,俗称“键值编码”,可以通过一个key来访问某个属性
常见的API有:
- (void)setValue:(id)value forKeyPath:(NSString *)key...[2018/11/6]
iPhone手机怎么投影到MacPro上
https: www.bilibili.com/video/av27255821/[2018/11/5]
【OC底层】KVO原理
KVO的原理是什么?底层是如何实现的?
我们可以通过代码去探索一下。
创建自定义类:XGPerson
@interface XGPerson : NSObject
@property (nonatomic,a ign) int age;
@property (nonato...[2018/11/3]
给button增加下划线 - snow-er
如何给button增加下划线简单版
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #000000; background-color: #fffcea }
p.p2 { margin: 0.0px ...[2018/11/2]
Objective-C高级编程:iOS与OS X多线程和内存管理
这篇文章主要给大家讲解一下GCD的平时不太常用的API,以及文末会贴出GCD定时器的一个小例子。
需要学习的朋友可以通过网盘免费下载pdf版 (先点击普通下载-----再选择普通用户就能免费下载了)http: putpan.com/f cy1i1beebn7s0h4u9/
1.GCD...[2018/11/1]