随笔分类 - object-c
摘要:写了一个extension,如下: extension UIScrollView{ ///在ScrollView上的某个点放大 func zoomWithPoint(var zoomPoint:CGPoint,toScale:CGFloat,animated:Bool){ var contentSi
阅读全文
摘要:有时候在缩放后,需要知道该次缩放是在哪个坐标开始缩放的。如上篇已知缩放的点,然后在该点对其缩放。本篇其实是逆运算 (x,y)就是当初在该点进行缩放 化简之后很简单,代码如下: -(CGPoint)getZoomPoint:(CGRect)fromRect toRect:(CGRect)toRect{
阅读全文
摘要:日常开发中用Extension做什么? Extension:扩展, 延展, 匿名分类;放在.m文件中; 声明私有属性; (不对子类暴露) 声明私有方法; 声明私有成员变量; 分类(Category)和扩展(Extension)区别? 分类(Category)扩展(Extension) 运行时决议 编
阅读全文
摘要:CGContext 属于Core Graphics(使用Quartz 进行2D渲染,处理基于路径的绘图、抗锯齿渲染、渐变、图像、颜色管理、pdf文档等。 说白了就是2D绘图 渲染功能)框架. 我们平时用的其实都是他的引用类型 CGContextRef typedef struct CGContext
阅读全文
摘要:核心绘图状态管理 CGContextSaveGState函数的作用是将当前图形状态推入堆栈。之后,您对图形状态所做的修改会影响随后的描画操作,但不影响存储在堆栈中的拷贝。在修改完成后,您可以通过CGContextRestoreGState函数把堆栈顶部的状态弹出,返回到之前的图形状态。这种推入和弹出
阅读全文
摘要:函数原型: CGContextRef CGBitmapContextCreate ( void *data, size_t width, size_t height, size_t bitsPerComponent, size_t bytesPerRow, CGColorSpaceRef color
阅读全文
摘要:我相信大家在对scrollView进行缩放时遇到过一个问题,就是放大或者缩小时不居中,尤其是缩小时,scrollView总是往左上角跑。 // 核心方法 // 这个方法是针对scrollView在缩小时无法居中的问题,scrollView放大,只要在设置完zoomScale之后设置偏移量为(0,0)
阅读全文
摘要:1.索引 YYText YYLabel 更新 #YYText IQKeyboardManager支持 [[IQKeyboardManager sharedManager] registerTextFieldViewClass:[YYTextView class] didBeginEditingNot
阅读全文
摘要:应用到的头文件及宏定义#include <ifaddrs.h>#include <arpa/inet.h>#include <net/if.h> #define IOS_CELLULAR @"pdp_ip0"#define IOS_WIFI @"en0"//#define IOS_VPN @"utu
阅读全文
摘要:OC 如何实现多代理模式 为什么要使用多代理模式 标题虽然是如何实现多代理模式,但是知道为什么需要实现多代理模式同样重要。 众所周知,OC的常用的消息传递方式有很多种,各有各的好处,在不同的场景选择不同实现方式。如: 代理 1对1,高耦合 通知 1对多,松耦合 block KVO ... 不同的实现
阅读全文
摘要:https://www.jianshu.com/p/4de55d73c82b
阅读全文
摘要:由于本人提交app的时候需要修改文件夹的名字,并且给 .m 文件增加函数名称,之前一直是手动操作,每次提交app的时候都要更改,单纯的手动操作就显得太low了,貌似现在脚本写出来的功能都很强大,可惜我不会,所以只好用NSFileManager代替。 在网上我们可以看到很多介绍NSFileManage
阅读全文
摘要:图像: 1.图片浏览控件MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存。可对图片进行缩放等操作。 下载:https://github.com/mwaterfall/MWPhotoBrowser 目前比
阅读全文
摘要:键盘管理 TPKeyboardAvoiding IQKeyboardManager 弹窗HUD MBProgressHUD SVProgressHUD UIView+ToastUIView显示提示Category Toast-SwiftTosat-swift版本 SnailPopupControll
阅读全文
摘要:在iOS开发中经常需要处理点,大小以及矩形,对应的数据结构分别为CGPoint,CGSize,CGRect,这些数据结构都是C结构体,定义分别如下: CGPoint { CGFloat x; CGFloat y; }; CGSize { CGFloat width; CGFloat height;
阅读全文
摘要:在Xcode 11中,苹果已经介绍过Content Layout Guide和Frame Layout Guide,他们可以更容易实现滚动视图滚动,这个特性默认是开启的【注意:这个特性是iOS 10 +,如果你需要兼容更低iOS版本,处理传送门】为了正确使用滚动视图,我们必须设置以下约束: 添加sc
阅读全文
摘要://1、得到当前屏幕的尺寸: CGRect rect_screen = [[UIScreen mainScreen] bounds]; CGSize size_screen = rect_screen.size; //2、获得scale:iPhone5和iPhone6是2,iPhone6Plus是3
阅读全文
摘要:test.png (像素 20*20) test@2x.png(像素40*40) test@3x.png(像素 60*60) UIImage *image = [UIImageimageNamed:@"test.png"]; image.size输出大小为(20,20); UIImage *imag
阅读全文
摘要:项目中有较多的多种蓝牙外设的对接 遇到的数据传输比较多 打算从使用框架、模块到传输协议一个系列记录一下 先记录一些数据传输时常用到的转换方式吧 后面再补充 1、整形转换成两个字节 int value = 100; unsigned char byte1 = (value & 0xff00)>>8;
阅读全文
摘要:最近项目中要用到socket通讯,由于涉及到组包问题,所以需要数据类型之间的来回转换,现在分享出来 如果想要请教Socket的问题请留言,我会随时回答的 1. int类型转16进制hexstring //int 转16进制 - (NSString *)hexFromInt:(NSInteger)va
阅读全文