ios
songbai1211
这个作者很懒,什么都没留下…
展开
-
swfit 实现组动画,渐变+ 位移同时进行的动画
swfit 实现组动画,渐变+ 位移同时进行的动画。原创 2022-11-02 18:31:54 · 263 阅读 · 0 评论 -
富文本AttributedString的总结
Swift使用简单示例let mutableAttributedString = NSMutableAttributedString();//设置样式let strAttr = [ NSAttributedStringKey.font : UIFont.systemFont(ofSize: 16), NSAttributedStringKey.foregroundColor:UIColor.darkGray, NSAtt原创 2022-05-12 16:39:02 · 638 阅读 · 0 评论 -
iOS直播间聊天室遇到的问题
Question:1.刷新直播间消息机制该用哪种方法?哪一种更加合适?2.聊天室该如何图文混排?3.聊天室出现特殊字符临界点不换行?高度计算错误?4.聊天室该如何加载网络图片?5.聊天室如何优化?6.交互时刷新消息经常出现越界情况,导致崩溃?7.聊天室出现阿拉伯文&中文&数字&英文等类似情况如何处理?...以上这些问题我相信做过聊天室直播间的肯定或多或少遇到过,那么本编文章就为了解决这些问题而来,底部提供Demo⬇️。1.刷新直播间消息机制该用转载 2021-09-16 10:00:06 · 872 阅读 · 0 评论 -
直播间聊天消息列表卡顿优化
大体的思路:把cell中的子控件布局改成frame的相对布局,禁止采用自动布局或者约束; 在接收到IM下发的消息时,提前计算好当前数据所需要的布局样式,内容需要占多宽多高、用户昵称的颜色、内容的字体样式、对应cell需要的高度,等等相关的属性值都提前计算好,并缓存起来; 在有新数据添加到表格中,采用insert方式,不要采用reload; 数据不是下发一条就添加一条道表格中,而是采用定时器,定时1秒去处理; 采用两个缓存池,一个是用于维护表格当前数据所存储的池,暂时叫B池;另一个用于接收处理好的原创 2021-09-10 11:29:18 · 459 阅读 · 0 评论 -
ios 手势返回监听方法
- (void)willMoveToParentViewController:(UIViewController*)parent{ [super willMoveToParentViewController:parent];}- (void)didMoveToParentViewController:(UIViewController*)parent{ [super didMoveToParentViewController:parent]; if(!parent){.原创 2021-09-09 17:38:20 · 715 阅读 · 0 评论 -
pod 报错 [!] The ‘Pods-xxx‘ target has frameworks with conflicting names: umcommon.framework.
[!] The 'Pods-LiveShopUserProject' target has frameworks with conflicting names: umcommon.framework..原创 2021-06-09 10:30:43 · 2398 阅读 · 0 评论 -
does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE),
xcode报错Showing All Errors Only'/Users/xxx/Library/Developer/Xcode/DerivedData/xxx-xxx/Build/Products/Debug-iphoneos/TXIMSDK_TUIKit_iOS_Professional/libTXIMSDK_TUIKit_iOS_Professional.a(CreatGroupAvatar.o)' does not contain bitcode. You must rebuild it .原创 2021-05-10 16:57:15 · 1012 阅读 · 0 评论 -
电商移动端架构图
原创 2021-01-13 17:19:03 · 1202 阅读 · 0 评论 -
埋点设计选择
埋点方案业界中对于代码埋点主要有3种主流的方案:代码手动埋点、可视化埋点、无痕埋点。简单说说这几种埋点方案。代码手动埋点:根据业务需求(运营、产品、开发多个角度出发)在需要埋点地方手动调用埋点接口,上传埋点数据。 可视化埋点:通过可视化配置工具完成采集节点,在前端自动解析配置并上报埋点数据,从而实现可视化“无痕埋点” 无痕埋点:通过技术手段,完成对用户行为数据无差别的统计上传的工作。后期数据分析处理的时候通过技术手段筛选出合适的数据进行统计分析。0x02. 技术选型1. 代码手动埋点该原创 2021-01-07 16:38:30 · 430 阅读 · 0 评论 -
Xcode11 添加lanuchimage黑屏无法显示问题
首先添加Assets添加一个launchImage,添加图片之后,取消系统lanuchScreen 选中第二部第三部这样就可以正常显示了原创 2020-03-13 15:52:08 · 441 阅读 · 0 评论 -
appsstore transporter上传的时候一直卡在正在验证问题
上传app的时候,使用了transporter工具上传,但是一直卡在正在验证APP 阶段解决办法就是 下载下载com.apple.amp.itmstransporter 文件后,在里面的obr/2.0.0/repository.xml 打开文件,搜索Simpsons 然后替换你自己的电脑用户名,然后把com.apple.amp.itmstransporter文件 去 覆盖 /Users...原创 2020-03-12 18:41:51 · 2497 阅读 · 0 评论 -
ios适配
BaseViewController的纯计算版本/********** 华丽分割线 ************/更多的详情请登陆俊哥博客:http://my.oschina.net/u/1418722/blog/********** 华丽分割线 ************/俊哥语录:这个类只要输入你的导航条实际高度,可以返回给你在各种适配情况下,导航条的frame和除导转载 2014-01-21 16:20:16 · 706 阅读 · 0 评论 -
IOS 加密实现
随着移动开发的火热,安全随之也越来越重要,各种加密md5,AES,sha1,RSA,加密方法,还有https 加密协议等,此文记录下平时用到的加密方法用来记录sha1 加密;md5;base64AESRSA 目前自己学习用到的就这6中,以后用到的还会补充,sha1,md5,base64 写在一起,里面用到的GTMBase64 自己可以下载- (NSString*) sha1{原创 2015-12-10 15:02:45 · 584 阅读 · 0 评论 -
按照字典里面某一个字段排序实现
ios 数组里面的字典,然后按照某个字典排序,比如按照价格从低到高排序重点内容实现 直接上代码NSDictionary *car1 = @{ @"make": @"Volkswagen", @"model": @"Golf", @"price": [NSDecimalNumber de原创 2015-12-10 10:53:56 · 1042 阅读 · 0 评论 -
ios AFNetworking https 双向证书验证实现
因为公司对接口做了安全处理,部分接口实现https 加密,双向验证就是 ,服务端要验证客户端,客户端也要验证服务器端,通过证书验证首先,因为用的是AFNetworking实现的网络请求,已经自带https 服务,只需要加以下代码 //设置https 请求 self.securityPolicy=[AFSecurityPolicypolicyWithPinningMode:AFSSLPi原创 2015-12-10 11:49:21 · 4909 阅读 · 4 评论 -
ios读书笔记
ios开发尽量少用宏# define,多使用类型变量比如#define animation_duration 0.3static conts NStimrInterval KanimationDuration = 0.3;这样写定义的常量包含类型信息其更好的清楚描述了常量的含义,并且若常量局限与编译单元,就是实现文件.m之内,则需要在字母前加上K,若常量在类之外可以见,则通常以类名为前缀,原创 2015-12-10 11:24:26 · 485 阅读 · 0 评论 -
ios常用宏定义
//------------------------单利宏定义--------------------------#define IMPLEMENT_SINGLETON(class)\+ (instancetype)shared##class {\ static class* shared##class = nil;\ static dispatch_once_t onceToke原创 2015-12-10 11:20:10 · 494 阅读 · 0 评论 -
ios 一些简单的 方法
从window中取得当前的活动的viewController+ (UIViewController*)currentViewController:(UIWindow *)window { // 固定路径MenuViewController->UINavigationController->lastObject UIViewController *rootViewController=原创 2015-12-10 11:17:06 · 499 阅读 · 0 评论 -
ios推送证书实现
http://hi.baidu.com/yang_qi168/item/480304c542fd246489ad9e91转载 2014-02-12 17:20:46 · 847 阅读 · 0 评论 -
ios核心动画
中文翻译教程:http://www.devdiv.com/forum.php?mod=viewthread&tid=135050&highlight=core%2BAnimation英文 https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CoreAnimation_guide/CoreAnimation原创 2014-01-24 11:25:36 · 680 阅读 · 0 评论 -
ios 获取页面的所有uiimageview 和UIButton
- (void) layoutSubviews { //屏蔽系统的ImageView 和 UIButton for (UIView *v in [self subviews]) { if ([v class] == [UIImageView class]){ [v setHidden:YES]; }原创 2014-01-14 16:35:48 · 2224 阅读 · 0 评论 -
ios 实现图片上传的2种方式
项目中要用到图片上传,开始最早用到的是方式是把image图片转为data 数据,然后用afnetwork 方式上传,后来这个方式改掉,有用到了以文件的形式上传给服务器,2个种方式,文件形式上传比较好点,下面提供所需的大致代码,第一步先获取图片,相册或者拍照都可以得到图片,然后把图片存datas里,然后发送请求,使用的都是afnetwork自带的方法//postParameters 数据放到value原创 2015-12-10 17:00:43 · 8325 阅读 · 1 评论 -
ios设备信息
ios经常用到的获取系统信息的一些方法,//手机序列号 NSString* identifierNumber = [[UIDevice currentDevice] uniqueIdentifier]; NSLog(@"手机序列号: %@",identifierNumber); //手机别名: 用户定义的名称 NSString* userPhoneName = [[U原创 2016-01-18 15:56:56 · 557 阅读 · 0 评论 -
iOS: (库) 图片异步下载/缓存-SDWebImage的使用
转自http://darrendev.diandian.com/post/2012-09-26/40039091215下载:https://github.com/rs/SDWebImage 导入:将SDWebImage文件夹拖到项目add ImageIO.frameworkadd MapKit.framework转载 2013-04-25 12:19:58 · 1389 阅读 · 0 评论 -
IOS 学习网站
各种疑惑 iosios缓存大神网站继续更新,学习原创 2019-10-10 21:01:27 · 101 阅读 · 0 评论 -
iOS Lock的介绍
锁是最常用的同步工具。一段代码段在同一个时间只能允许被有限个线程访问,比如一个线程 A 进入需要保护代码之前添加简单的互斥锁,另一个线程 B 就无法访问,只有等待前一个线程 A 执行完被保护的代码后解锁,B 线程才能访问被保护代码。 普通的锁NSLock 遵循 NSLocking 协议,lock 方法是加锁,unlock 是解锁,tryLock 是尝试加锁,如果失败的话返回 NO,loc...转载 2019-10-10 20:56:11 · 321 阅读 · 0 评论 -
ios objc_setAssociatedObject使用
ios 关联对象,也就是绑定对象,可以绑定任何东西//关联对象 objc_setAssociatedObject(self, @selector(btnAction:), block, OBJC_ASSOCIATION_RETAIN_NONATOMIC);// self 关联的类, //key:要保证全局唯一,key与关联的对象是一一对应关系。必须全局唯一。通常用@selector(met...原创 2019-09-25 23:15:05 · 3821 阅读 · 0 评论 -
ios 基础学习
oc 动态绑定消息传递机制oc 的方法吊用,其实就是对象接受一个消息,然后消息发送 动态绑定机制,寻找对应的方法体,直到找到方法体然后执行动态绑定动态绑定是基于动态类型的,在运行时对象的类型确定后,那么对象的属性和方法也就确定了(包括类中原来的属性和方法以及运行时动态新加入的属性和方法),这也就是所谓的动态绑定了。动态绑定的核心就该是在运行时动态的为类添加属性和方法,以及方法的最后处理或...原创 2019-06-19 02:13:40 · 235 阅读 · 0 评论 -
React Native 环境搭建 mac
使用Homebrew 安装软件注意:在Max OS X 10.11(El Capitan)版本中,homebrew在安装软件时可能会碰到/usr/local目录不可写的权限问题。可以使用下面的命令修复:sudo chown -R `whoami` /usr/local安装Node环境我们在初始化React Native应用或从npm上安装一些组件的时候通常的情况下是比较慢的,这是因为np...转载 2019-02-19 17:11:32 · 160 阅读 · 0 评论 -
ld: framework not found Pods_XXX clang: error: linker command failed with exit code 1 (use -v to see
ios 项目xcode 提示ld: framework not found Pods_XXXclang: error: linker command failed with exit code 1 (use -v to see invocation)的时候 在tagets 的下面,General 下面的 linked frameworks and libraies 移除屌pod_xxx就OK...原创 2018-12-01 16:37:26 · 1611 阅读 · 0 评论 -
小鸟平台隐私政策
本软件尊重并保护所有使用服务用户的个人隐私权。为了给您提供更准确、更有个性化的服务,本软件会按照本隐私权政策的规定使用和披露您的个人信息。但本软件将以高度的勤勉、审慎义务对待这些信息。除本隐私权政策另有规定外,在未征得您事先许可的情况下,本软件不会将这些信息对外披露或向第三方提供。本软件会不时更新本隐私权政策。您在同意本软件服务使用协议之时,即视为您已经同意本隐私权政策全部内容。本隐私权政策属于本...原创 2018-11-21 01:18:31 · 245 阅读 · 0 评论 -
ios快速创建一个app框架
现在的app 大多数都是底部tabBarVC,然后带有NavgationVC的框架结构,所有为了方便实用,记录下快速创建一个框架的部奏,记录,创建TabBarController创建BaseViewController创建需要的ViewController先初始化TabBarController,直接上代码,并且把Navgationcontroller 装载进去//.h 文件#import原创 2015-12-27 17:18:26 · 905 阅读 · 0 评论 -
ios UI控件关联
开发中,我们经常需要对View,button,alter 做一些操作,,但是也需要穿相应的参数,使用runtime 可以让这种方式更简单的传递,为了方便使用,封装了一个类别//.h@interface UIView (parameter){}-(void)setCustomParame:(NSDictionary*)dic;-(NSDictionary*)customParame;@en原创 2016-01-19 15:48:07 · 671 阅读 · 0 评论 -
iOS 7 动画UIDynamicAnimator
- (void)viewDidLoad{ [super viewDidLoad]; [self initUI]; [self performSelector:@selector(startGravity:) withObject:Nil afterDelay:1];// Do any additional setup after loading the view, ty原创 2014-01-21 16:21:03 · 1023 阅读 · 0 评论 -
用 MPMoviePlayerController 实现简单的视频下载播放功能
用 MPMoviePlayerController 实现简单的视频下载播放功能初始化MPMoviePlayerController MovieView = [[MPMoviePlayerController alloc]init]; [MovieView.view setFrame:CGRectMake(145, 0, 1024-145, 651)];原创 2014-01-21 16:19:37 · 837 阅读 · 0 评论 -
iOS 动画实现
转载 http://blog.163.com/wangy_0223/blog/static/45014661201222694654895/需要在frameworks中添加QuartzCore.framework在接口程序中加上头文件 #import /*好多动画效果*/ CATransition *transition = [CATransition animation转载 2013-04-18 00:54:49 · 1104 阅读 · 0 评论 -
iOS tabbarviewControll的简单使用设置
1 一种是载appdelegate里面设置tabbarviewcontroller,然后利用self。view controllers添加别的view con2 一种是继承于tabbarviewcontroller的类,然后在里面添加VC类,一种简单的设置tabbar的背景色,还有items的字体和图片,就是ps画出一个长宽320 高,49的tabbar背景图片,然后把分成几块把items原创 2013-05-05 00:44:20 · 1414 阅读 · 0 评论 -
ios关于键盘遮挡的简单方法
1 利用UIScrollview 的设置使得整体上移把控件都放在scrollview上面,然后利用当用户点击的时候,设置scrollview 的CGPointMake(scroll.contentOffset.x, y+100)就可以达到效-(void)textFieldDidB-(void)textFieldDidBeginEditing:(UITextField *)textField原创 2013-05-04 23:17:18 · 1114 阅读 · 0 评论 -
1.ARC和非ARC文件共存
1.ARC和非ARC文件共存项目->Build Parses->对应的类1.1.新项目兼容老的非ARC:-fno-objc-arc1.2.老项目兼容ARC:-fobjc-arc原创 2013-05-16 13:59:52 · 824 阅读 · 0 评论 -
iOS 6 新特新CollectionView的使用实现九宫格
首先新建工程 然后在xib中添加UICollectionView控件然后#import @interface CollectionViewController : BaseViewController @property (strong, nonatomic) IBOutlet UICollectionView *collectionView;@propert转载 2013-04-18 22:36:03 · 10759 阅读 · 0 评论