![](https://img-blog.csdnimg.cn/20210611154326188.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
iOS开发笔记
文章平均质量分 70
开发过程中随笔记录,自己可以查阅,也希望可以帮助一两个人。
wuwuFQ
明月几时有?把酒问青天。不知天上宫阙,今夕是何年。我欲乘风归去,又恐琼楼玉宇,高处不胜寒。起舞弄清影,何似在人间?
转朱阁,低绮户,照无眠。不应有恨,何事长向别时圆?人有悲欢离合,月有阴晴圆缺,此事古难全。但愿人长久,千里共婵娟。
展开
-
iOS开发:URL编码解码
经过上面的分析,我们对编码有了一定了解,那么像'()*+,-.等几个特殊字符,并不支持编码,和其他平台传输有乱码现象怎么办呢?这个时候就需要自定义字符集了。<=>?//编码后encode: %20!%3C=%3E?变量为什么要反转集合呢?因为入参的字符集合是不会被编码的集合,我们反转之后就是对我们自定义的变量里面的字符进行编码了。End。原创 2023-09-11 09:00:00 · 1706 阅读 · 0 评论 -
计算机编程中的编码是什么?
编码是信息从一种形式或格式转换为另一种形式的过程,也称为计算机编程语言的代码,简称编码。用预先规定的方法将文字、数字或其它对象编成数码,或将信息、数据转换成规定的电脉冲信号。编码在电子计算机、电视、遥控和通讯等方面广泛使用。编码是信息从一种形式或格式转换为另一种形式的过程。解码,是编码的逆过程。—百度百科。原创 2023-09-08 20:17:36 · 1063 阅读 · 0 评论 -
16进制颜色透明度对照表
80000000:表示黑色50%透明度,前两位是透明度,不写默认FF。#000000:16进制颜色,纯黑色不透明。原创 2023-06-09 15:01:41 · 1021 阅读 · 0 评论 -
iOS开发:NSLocalizedString语言国际化(本地化) + APP内切换语言
本篇讲解两个功能点:① 让APP跟随手机的系统语言显示不同的文本。② 在APP内切换语言,和手机的系统语言无关。原创 2023-05-07 12:43:24 · 1244 阅读 · 0 评论 -
iOS开发:制作Framework SDK包支持Bitcode
Bitcode is an intermediate representation of a compiled program. Apps you upload to iTunes Connect that contain bitcode will be compiled and linked on the App Store. Including bitcode will allow Apple to re-optimize your app binary in the future without th原创 2022-08-10 09:00:00 · 547 阅读 · 0 评论 -
iOS16.0:屏幕旋转
`[Orientation] BUG IN CLIENT OF UIKIT: Setting UIDevice.orientation is not supported. Please use UIWindowScene.requestGeometryUpdate(_:)`那我们看看 `UIWindowScene.requestGeometryUpdate(_:)` 怎么使用呢?原创 2022-08-03 09:49:33 · 11263 阅读 · 0 评论 -
iOS:UILabel省略号 NSLineBreakMode
先提一个BUG:UILabel设置了富文本NSAttributedString,省略号和textAlignment都会失效那么,你就在设置完富文本后再设置这些属性。typedef NS_ENUM(NSInteger, NSLineBreakMode) { //以单词为显示单位显示,后面部分省略不显示。 NSLineBreakByWordWrapping = 0, // Wrap at word boundaries, default //以字符为显示.原创 2022-05-13 15:23:52 · 1426 阅读 · 0 评论 -
HTTP 状态码
HTTP 状态码分类HTTP 状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 (500–599):分类分类描述1**信息,服务器收到请求,需要请求者继续执行操作2**成功,操作被成功接收并处理3**重定向,需要进一步的操作以完成请求4**客户端错误,请求包含语法错误或无法完成请求5**服务器错误,服务器在原创 2022-03-07 15:34:43 · 166 阅读 · 0 评论 -
iOS 圆角cornerRadius、边框border、阴影Shadow
圆角cornerRadius先看一下官网解释Setting the radius to a value greater than 0.0 causes the layer to begin drawing rounded corners on its background. By default, the corner radius does not apply to the image in the layer’s contents property; it applies only to the原创 2021-12-15 14:40:34 · 1961 阅读 · 0 评论 -
Xcode13.0-iOS15.0-适配问题
UINavigationBar//iOS 13.0新特性if (@available(iOS 15.0, *)) { UINavigationBarAppearance * appearance = [[UINavigationBarAppearance alloc] init]; // 背景色 appearance.backgroundColor = [UIColor whiteColor]; // 去除导航栏阴影(如果不设置clear,导航栏底下会有一条阴影线)原创 2021-09-24 09:42:15 · 2120 阅读 · 0 评论 -
FQUtilsSDK的详细介绍
FQUtilsSDKiOS开发常用工具类:日期时间选择器、提醒框Toast、监听屏幕截屏和录屏、指纹和脸部识别、文本关键字高亮、添加水印、页面截图和获取当前控制器。原创 2021-07-16 10:01:00 · 280 阅读 · 0 评论 -
iOS开发 获取当前控制器
首先创建一个工具类,实现方法都是类方法获取当前UIViewController//获取当前控制器+ (UIViewController*)currentViewController { return [self currentViewControllerWithRootViewController:[self getKeyWindow].rootViewController];}//获取KeyWindow+ (UIWindow *)getKeyWindow { if (@a.原创 2021-06-29 16:46:30 · 1878 阅读 · 0 评论 -
iOS开发-Xcode快捷键
功能Command + Shift + F 表示:跳转到搜索导航器【非常实用】Command + Shift + j 表示:显示当前文件,在导航拦中的位置 Command + Shift + option + k 表示:深度clear,清理 build folder Ctrl + 2 表示:显示最近的浏览记录Command + Ctrl + 2原创 2021-06-15 14:25:01 · 186 阅读 · 0 评论 -
UIScrollview+UITableView+UICollectionView问题总结
位置布局发生偏移(上移或下移)if (@available(iOS 11.0, *)) { UIScrollView.appearance.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever; //tableView.contentInsetAdjustmentBehavior = .never } else { self.automaticallyAdju原创 2020-07-06 09:31:09 · 620 阅读 · 0 评论 -
UITableView+FDTemplateLayoutCell 框架学习(cell动态计算高度)
介绍UITableView+FDTemplateLayoutCell 是一个由国人团队开发的优化计算 UITableViewCell 高度的轻量级框架( GitHub 地址),由于实现逻辑简明清晰,代码也不复杂,非常适合作为新手学习其他著名却庞大的开源项目的“入门教材”。开发者之一的阳神也通过一篇 博客介绍了 UITableViewCell 高度计算(尤其是 autoLayout 自动高度计算)的...转载 2018-04-18 18:57:21 · 2426 阅读 · 0 评论 -
iOS开发 | UITableView的无数据占位图在项目中的实际运用
什么是无数据占位图?无数据占位图,就是当后台返回的数据源为空时需要展示的页面,比如下面这三张:为什么我们需要无数据占位图?一般来说,tableView获取到的数据源为空时,直接展示一个空的tableView显得比较突兀,所以设计师往往会针对这种情况给出相应的UI,用来替代空tableView的展示。思路:无数据占位图是一个view,一个覆盖在tableVie转载 2017-08-16 17:11:33 · 1161 阅读 · 0 评论 -
UITableView在Grouped风格下底部留白
UITableView在Plain风格下,分区头会悬停!在Grouped风格下分区头正常滑动,但是底部会留白-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{//Grouped风格下底部留白 return 0.0001;} 2018年11月16日1...原创 2017-05-09 17:53:58 · 2321 阅读 · 0 评论 -
解决tableViewCell分割线不到左边界的问题
在tableView控制器的.m文件中任何位置加入以下两个方法即可解决/** * 下面两个方法解决cell分割线不到左边界的问题 */-(void)viewDidLayoutSubviews { if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) { [self.原创 2017-04-14 14:19:55 · 817 阅读 · 0 评论 -
UITableView的分区头 悬停问题
我们开发经常用到UITableView,而它的分区头也会用到,分区头在屏幕顶部和底部会有悬停功能。那就要说到UITableView的两种格式,UITableViewStyleGrouped和UITableViewStylePlain;UITableViewStyleGrouped:分区头随着屏幕移动不悬停!UITableViewStylePlain: 分区头会在屏幕顶部和底部悬停!原创 2017-04-08 13:30:56 · 2697 阅读 · 0 评论 -
tabbar遮盖tableview的cell解决方法
tabbar遮盖tableview的cell解决办法:1.在tableview的类里面self.edgesForExtendedLayout = UIRectEdgeNone;//解决tbabar遮挡cell2.在给Tabbar添加子类childVc的时候,让tableview的属性更改; //tableview不被tabbar遮盖 childVc.edg原创 2017-04-08 11:50:57 · 1128 阅读 · 0 评论 -
UITableView全面解析
解析的特别全面,适合新手上路。原文:点击打开链接--UIKit之UITableView概述在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似于微信、QQ、新浪微博等软件基本上随处都是UITableView。当然它的广泛使用自然离不开它强大的功能,今天这篇文章将针对UITableView重点展开讨论。转载 2016-12-13 14:58:03 · 465 阅读 · 0 评论 -
UIlabel自适应高度 + 调整行间距
创建一个UIlabel分类 .h#import @interface UILabel (JKLableChangeLineSpace)/** * 改变行间距 */+ (void)changeLineSpaceForLabel:(UILabel *)label WithSpace:(float)space;/** * 改变字间距 */+ (void)changeWo原创 2017-06-06 11:09:50 · 638 阅读 · 0 评论 -
UILabel + UITextView 字间距和行间距
UILabel:创建category.h#import @interface UILabel (JKLableChangeLineSpace)/** * 改变行间距 */+ (void)changeLineSpaceForLabel:(UILabel *)label WithSpace:(float)space;/** * 改变字间距 */+ (void)c原创 2017-05-13 15:03:30 · 2577 阅读 · 0 评论 -
二级导航栏 , 分页组件
开发中经常用到二级导航,可点击,可滑动,在网上找了一些案例,但是我拿不到自己想要的 ,界面一样要复用,而且我这个项目,还是动态添加视图,我就自己写了个简单的demo,demo地址(后续);里面有文本介绍怎么使用,特别简单,有这个逻辑也可以写一个符合自己项目的二级导航。原创 2017-04-20 16:52:03 · 859 阅读 · 0 评论 -
三级-下拉菜单
Demo下载:后续给地址...把JKSelectBtn.h和JKSelectBtn.m拖进工程就可以用了,我布局用的ViewUtils,你也可以重新布局,也可以把ViewUtils头巾工程。使用介绍:在需要用到的地方- (IBAction)buttonClick:(id)sender { JKSelectBtn *btn = [[JKSelectBtn alloc]initWi原创 2017-04-12 09:45:02 · 702 阅读 · 0 评论 -
iOS开发 - - 访问手机通讯录
场景一:直接选择一个联系人的电话号码这里不需要先获取所有的联系人自己做联系人列表,直接使用系统自带的AddressBookUI/ABPeoplePickerNavigationController.h就好。首先需要引入如下三个文件#import #import #import 然后初始化ABPeoplePickerNavigationController。ABPeopleP转载 2017-07-15 14:51:13 · 484 阅读 · 0 评论 -
iOS开发之App Extension(应用扩展)之 -- Today Extension
感谢原文点击打开链接这篇文章我主要介绍几点,如果有只想了解某一个方面的,可以跳着看。1. 如何创建Today Extension2. 如何在扩展和宿主App之间共享数据3. 如何在扩展和宿主App之间共享代码(framwork创建)4. 如何从扩展中打开宿主App最后完成的是一个非常简单的记事demo,效果图如下:效果图.gif1. 如何创建Today转载 2017-06-19 16:44:42 · 1232 阅读 · 0 评论 -
3D Touch
一:3D Touch的三大模块3D Touch功能主要分为以下三个模块:1、Home Screen Quick Actions通过主屏幕的应用Icon,我们可以用3D Touch呼出一个菜单,进行快速定位应用功能模块相关功能的开发。如上面的日历。2、peek and pop这个功能是一套全新的用户交互机制,在使用3D Touch时,ViewController中会有如下三个原创 2017-06-19 14:47:26 · 481 阅读 · 0 评论 -
iOS 扫一扫二维码(原生)
.h//#import #import @interface JKScannerViewController : UIViewController{ int num; BOOL upOrdown; NSTimer * timer; UIImageView * imageView; BOOL hasCameraRight;}@prope原创 2017-06-06 10:25:49 · 2721 阅读 · 0 评论 -
iOS扫一扫功能
之前很多二维码扫描都是基于zxing做的,但是zxing用起来真的很麻烦,又一直不更新。随着iOS6退出历史舞台,终于可以使用iOS7以后,用系统的AVFoundation做的二维码扫描器了。初始化相机,扫描器- (void)setupCamera{ dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_转载 2017-06-05 13:47:00 · 2335 阅读 · 0 评论 -
相机拍照,相册照片
首先,我们在头文件中添加需要用到的actionSheet控件,显示图片的UIImageView控件,并且加上所需要的协议[objc] view plain copy #import @interface ImagePickerViewController : UIViewController @property (strong, nonatomic原创 2017-05-05 11:14:13 · 407 阅读 · 0 评论 -
iOS获取设备唯一标识符
在开发中会遇到应用需要记录设备标示,即使应用卸载后再安装也可重新识别的情况,在这写一种实现方式——读取设备的UUID(Universally Unique Identifier)并通过KeyChain记录。首先iOS中获取设备唯一标示符的方法一直随版本的更新而变化。iOS 2.0版本以后UIDevice提供一个获取设备唯一标识符的方法uniqueIdentifier,通过该方法我们可以获取设备原创 2017-05-04 15:40:00 · 4500 阅读 · 2 评论 -
iOS获取当前app版本号和使用设备
NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; CFShow(infoDictionary); // app名称 NSString *app_Name = [infoDictionary objectForKey:@"CFBundleDisplayName"]; // app原创 2017-04-05 17:03:37 · 2262 阅读 · 0 评论 -
info.plist配置权限
当app需要使用手机的某些功能或者应用的时候,需要授权才可以访问,下面将展示一些info.plist上常用的一些授权:第一个字典,bool类型是YES的,这个是允许访问http的网址。原创 2017-03-21 14:37:56 · 1449 阅读 · 0 评论 -
IOS状态栏的设置
状态栏的字体为黑色: UIStatusBarStyleDefault 状态栏的字体为白色: UIStatusBarStyleLightContent一、在 info.plist 中,将 View controller-based status bar appearance 设为 NO状态栏字体的颜色只由下面的属性设定,默认为白色:// default is UISt转载 2016-12-13 14:39:10 · 581 阅读 · 0 评论 -
Swift-UICollectionView快捷创建(刨坟)
UICollectionView懒加载 private lazy var collectionView: UICollectionView = { //每行数量 let rowCount = 4 //行间距 let space: CGFloat = 20 //列间距 let margin: CGFloat = 20 let itemWidth = (kScreenWidth - margi原创 2020-06-05 17:44:52 · 228 阅读 · 0 评论 -
ios开发-最新友盟集成和微信集成(swift)
有段时间没有来博客了,我自己都觉得不好意思了,又不是很忙,还老是没有时间CocoaPods集成 依赖库#友盟分享 SDK集成pod 'UMCCommon'pod 'UMCSecurityPlugins'# 集成微信(精简版0.2M)pod 'UMCShare/Social/ReducedWeChat'# 集成QQ/QZone/TIM(精简版0.5M)pod 'UMCShar...原创 2020-04-15 17:44:59 · 1936 阅读 · 3 评论 -
xcode 模拟器无法响应键盘
进入 ~/Library/Preferences删除 "com.apple.iphonesimulator.plist"文件原创 2020-03-17 17:45:27 · 1081 阅读 · 1 评论 -
iOS Podfile文件变成exec格式可执行文件
只需要使用终端更改文件权限终端使用命令$ chmod 644 文件名 就会变回正常的了终端使用命令$ chmod 700 文件名 就会变回exec格式chmod 具体用法和含义指令名称 : chmod使用权限 : 所有使用者使用方式 : chmod [-cfvR] [–help] [–version] mode file…说明 : Linux/Unix 的档案调用权限分为...原创 2019-07-03 15:25:35 · 1151 阅读 · 0 评论 -
UITabBar高度修改
-(void)viewDidLayoutSubviews { [super viewDidLayoutSubviews]; if (IS_PAD) { CGRect frame = self.tabBar.frame; frame.size.height = 49 +10; fra...原创 2019-06-06 15:03:13 · 1503 阅读 · 0 评论