yznote

砥砺前行

iOSSceneDelegate

iOSSceneDelegate

iOS 13 新特性之 UIWindowScene -(UIWindow *)getRootWindow { if (@available(iOS 13.0,*)) { /* NSArray *windows = [[UIApplication sharedApplication] windows]; for(UIWindow *win...

iOS系统侧滑返回

iOS系统侧滑返回

侧滑返回,处理本页面逻辑【之前都是禁用侧滑】 /// 侧滑 - (void)willMoveToParentViewController:(UIViewController*)parent{ [super willMoveToParentViewController:parent]; NSLog(@"viewC-will==%@",parent); if (...

CallKit

CallKit

电话的呼入、接通、挂断监听实现方案 大陆地区不允许使用CallKit,邮件等沟通无果,电话的监听必须更换为旧的Api来实现; 旧Api 1.引入头文件 #import <CoreTelephony/CTCallCenter.h> #import <CoreTelephony/CTCall.h> 2.声明变量 #pragma clang diagn...

GoogleAnalyt

分析统计

第一步:填写包名、应用名称; 第二步:Google自动配置并生成.plist文件; 第三步:下载生成的GoogleService-Info.plist并拖入项目中; 第四步:下载SDK pod 'Firebase/Analytics'; 第五步:在launchoption中配置[FIRApp configure];; 第六步:卸载原有应用,并重新运行,Google控制台自动检测配置是...

[转载]动画

动画实现汇总

动画的实现方式 这里

防盗链设置汇总

防盗链

SDWebimage SDWebImageDownloader *downloader = [SDWebImageDownloader sharedDownloader]; [downloader setValue:@"你的域名" forHTTPHeaderField:@"Referer"]; YYWebImage YYWebImageManager *yyImg = [YYWeb...

iOS控制重复点击

扩展

UIControl扩展 @interface UIControl (RKRepeatClick) /** 可以重复点击的时间间隔 默认为0 不对按钮重复点击处理 */ @property (nonatomic,assign) NSTimeInterval timeInterval; //用这个给重复点击加间隔 /** 内部属性用于判断是否忽略替换的点击事件 */ @prop...

控制台输出中文

扩展

NSDictionary扩展 @implementation NSDictionary (RKLogJson) #if DEBUG - (NSString *)descriptionWithLocale:(nullable id)locale indent:(NSUInteger)level{ if ([NSJSONSerialization isValidJSONObject:...

UIlabel文字竖向排列

扩展

@interface UILabel (RKVerticalLabel) @property (nonatomic) NSString *verticalText; @end @implementation UILabel (RKVerticalLabel) - (NSString *)verticalText{ // 利用runtime添加属性 return ob...

xcode中xib圆角边框

扩展

xib属性栏快速设置控件的边框、圆角 @interface UIView (RKXibSet) @property (nonatomic,assign)IBInspectable CGFloat borderWidth; @property (nonatomic,strong)IBInspectable UIColor *borderColor; @property (nonatomic...

控件阴影

扩展

UIview扩展 四周阴影 -(void)rk_shadowWithColor: (UIColor *)color offset: (CGSize)offset opacity: (CGFloat)opacity radius: (CGFloat)radius{ self.clipsToBounds = NO; self.layer.shadowColor = colo...

Xcode警告

警告

关于三方最低支持版本的更改 post_install do |pi| pi.pods_project.targets.each do |t| t.build_configurations.each do |bc| bc.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0' end ...

Xcode控制台输出中文

Json

将控制台的Unicode编码转为中文输出 方法:添加一个NSDictionary扩展将下列代码丢进.m即可 #if DEBUG - (NSString *)descriptionWithLocale:(nullable id)locale{ return [[NSString alloc] initWithData:[NSJSONSerialization dataW...

Node.js和npm

脚本语言

NVM 管理 Node nvm 常用命令 nvm install stable 安装最新稳定版 node nvm install <version> 安装指定版本,如:安装v4.4.0,nvm install v4.4.0 nvm uninstall <version> 删除已安装的指定版本,语法与install类似 nvm use <version&g...

亚马逊S3-2

服务端

亚马逊存储桶+服务端配置 亚马逊 亚马逊后台配置:https://aws.amazon.com/cn/ 1.登录账号,进入Amazon s3创建存储桶 按照上图所示填写内容,剩下的信息默认,点击底部创建存储桶 2.存储桶权限设置 设置跨域内容如下:更换对应的域名,其他配置信息不做修改. [ { "AllowedHeaders": [ ...

亚马逊S3-1

Objective-C、Swift

亚马逊S3App上传配置 创建identitypool【基于服务端创建的存储桶】 创建地址:https://ap-southeast-1.console.aws.amazon.com/cognito/home?region=ap-southeast-1 1.选择区域【例如:Asia Pacific,这里的区域要和存储桶区域一致】 2.点击Manage Identity Pools 3...

Braintree

Objective-C、Swift

iOS集成Braintree+Paypal支付 官方文档 iOS SDK Url0 iOS SDK Url1 第一步:创建沙盒/生产账号 沙盒注册链接 沙盒登陆链接 生产登陆链接 注册、登陆之后点击设置-API-Generate New Tokenization Key生成沙盒/生产环境的Token如图所示: 第二步:下载SDK Pod pod 'Braintree...

iOS国际化

Objective-C、Swift

网上例子比较多步骤简单回顾 第一步:Projext - Localizations - + 自己需要的语言 第二步:Targets - Info 添加 Localized resources can be mixed YES 好像非必须,还未搞懂… 第三步:创建 Strings File 命名 InfoPlist 和 Localizable InfoPlist.str...

iOS耗时、卡顿分析

iOS耗时、卡顿分析

卡顿检测-RunLoop实例 耗时操作

iOS键盘和UIMenuController并存

iOS键盘和UIMenuController并存

描述以UITextView为例 当UITextView处于编辑状态时,即键盘存在时,UITextView是第一响应者,而当需要弹出UIMenuController时,第一响应者需要变更为处理UIMenuController菜单事件的对象,此时UITextView就不是第一响应者,键盘就会隐藏,造成键盘和UIMenuController不能同时出现. 解决方案 通过改变响应链来解决: ...