自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (1)
  • 收藏
  • 关注

转载 yuv、pcm数据的介绍和获取

最简单的iOS 推流代码,视频捕获,软编码(faac,x264),硬编码(aac,h264),美颜,flv编码,rtmp协议,陆续更新代码解析,你想学的知识这里都有,愿意懂直播技术的同学快来看!!源代码:https://github.com/hardman/AWLive前面介绍了如何通过相机实时获取音视频数据。我们接下来就需要了解获取到的数据到底是什么样的。使用系统提供的接口获取到的音视频数据都保

2017-04-10 19:52:13 3527 4

原创 JSONModel命名中的驼峰(CamelCase)与下划线 (UnderscoreCase)

后台返回的数据key命名方式不统一,有camel,有underscore,我想统一用camel命名,于是用了[JSONModelsetGlobalKeyMapper:[JSONKeyMappermapperFromUnderscoreCaseToCamelCase]];但是接着就出现了一个问题,后台返回的是camel方式的字段我取不到了。。。于是去看源码,[JSONKeyMapper

2016-07-11 18:02:15 2461

原创 利用bounds实现侧滑

//侧滑出现UIWindow *window = [[UIApplication sharedApplication] keyWindow]; CGFloat windowWidth = [UIScreen mainScreen].bounds.size.width;//屏幕宽度 CGFloat windowHeight = [UIScreen mainScreen].bounds.

2016-06-17 10:43:19 354

原创 利用bounds处理tableView顶部上下滑动

#pragma mark - UIScrollViewDelegate- (void)scrollViewDidScroll:(UIScrollView *)scrollView { static UIView *superV;//scrollView和bannerView的父控件 if (!superV) { superV = scrollView.supervi

2016-06-03 09:36:52 874

原创 CAKeyframeAnimation

关键帧通过path和values,两者只用一个,设置了path之后values就没有用了; 默认平分时间:总时间/(帧数-1),还可以通过keyTimes各个关键帧用的时间0-1,要跟calculationMode一起用,alculationMode有5种: kCAAnimationLinear calculationMode的默认值,表示当关键帧为座标点的时候,关键帧之间直接直线相连进行插值计

2016-05-30 14:15:52 922

原创 关于rangeOfString:和containsString:

containsString:是iOS8之后的API,所以类别自定义:- (BOOL)lee_containsString:(NSString *)str { if (str && [self rangeOfString:str].location != NSNotFound) return YES; else return NO;}这里注意当string为nil的时候,返回的是{

2016-05-26 16:24:58 951

原创 JSPatch

//js中的输出要用%@,

2016-05-26 15:40:20 255

原创 countryCode与currencyCode

countryCode,国家代码中国:CN;美国:US;香港:HK;台湾:TW;澳门:MO;日本:JP;韩国:KR;currencyCode,货币代码人民币:CNY;美元:USD;港币:HKD;澳元:AUD;日元:JPY;韩元:KRW;国家代码货币代码

2016-05-13 15:51:13 3124

原创 .dylib与.tbd

网上找到的方法,点击出来的包名是不一样,不过编译没有出错1.add other...  ----> cmd+shift+G  ------>  /usr/lib/  ------> 找到需要的lib文件

2016-04-29 12:18:34 384

原创 UIApplicationShortcutIconType

UIApplicationShortcutIconTypeComposeUIApplicationShortcutIconTypePlayUIApplicationShortcutIconTypePauseUIApplicationShortcutIconTypeAdd

2016-04-19 17:51:33 3318 3

原创 3D Touch

//1,桌面重压app图标 //需要在info.plist中进行配置 UIApplicationShortcutItems //数组可以设置多个选项 UIApplicationShortcutItemIconFile wt_unity_refreshing UIAp

2016-04-19 17:00:09 541

原创 第三方键盘高度

//第三方键盘,监听UIKeyboardWillShowNotification时,会触发三次,如果在这个监听事件中拿键盘的高度,第一次拿到的是0,第二次是系统键盘高度,第三次是真正的高度//例://添加监听- (void)addObserverEvent { self.keyboardHeight = 216; [[NSNotificationCenter defaultCen

2016-04-07 17:51:36 508

原创 dispatch_once

static dispatch_once_t onceToken;//这个是static是一定要写的 dispatch_once(&onceToken, ^{ NSLog(@”这里面的代码只会执行一次”); });

2016-04-07 14:21:12 234

原创 动态运行方法

//((void(*)(id, SEL,NSString *))objc_msgSend)([self.navigationController.viewControllers firstObject],@selector(beginRefreshing),@"参数");

2016-04-06 15:36:49 257

原创 动态添加方法,添加协议

void sayHello(id self,SEL _cmd,NSString *str){ NSLog(@"%@",str);} /** cls:被添加方法的类 name:可以理解为方法名,貌似随便起名,比如我们这里叫newMethod2222 imp:实现这个方法的函数 type: 具体还太熟悉,type应该是被削弱了,返回值不准也可以正常

2016-04-05 15:45:33 1252

原创 c中字符串数组导致的crash

static NSString *strArr[] = {@”one”,@”two”,@”three”,@”four”}; for (int i = 0; i < 5; i ++) { NSString *str = strArr[i]; NSLog(@”%@”,str); } 这个在调试的时候不会出错,只有在打包上架之后,或者用co

2016-03-22 11:16:13 332

原创 JSONModel源码学习<一>

******************第一段*********************-(id)initWithDictionary:(NSDictionary*)dict error:(NSError**)err{ //check for nil input if (!dict) { if (err) *err = [JSONModelError errorIn

2016-03-21 17:25:54 1232

原创 nsnull,nil的crash

//字符串比较,最好使用第一种,因为跟后台交互的时候有可能返回的是nsnull,1、[str1 isEqual:str2]2、[str1 isEqualToString:str2]//向字典中添加键值对时,判断一下值是否是nil,是nil会导致crashif(!(temp == nil)) [dict setObject:temp forKey:@"temp"];//或者if (!temp)

2016-03-21 10:52:40 336

原创 图片处理

coreImage ,CIFilter,通过kvc设置。 //高斯模糊 CIImage *contentCI = [CIImage imageWithCGImage:image.CGImage]; CIFilter *filter = [CIFilter filterWithName:@"CIGaussianBlur"]; [filter setDefaults]; [filter

2016-03-15 13:55:10 322

原创 消除未使用声明变量的警告

__unused int a;

2016-03-10 14:01:28 1841

转载 Xcode7.0.1 / OS X 10.11.1 提交不了 AppStore 的解决方案

原文链接:http://swiftcn.io/topics/19解决了 Invalid Swift Support 问题后,又遇到了另一个坑爹的问题,过节加个班还那么惨,还让不让人活了!!!!提交审核时报错工具链无效。新 App 和 App 更新必须使用公共(正式)版 Xcode 6 或更高版本以及 iOS 8 SDK 或更高版本来构建。请勿提交 Beta 版软件构建的

2016-03-08 15:52:01 393

原创 appStore下载地址

NSString *str = [NSString stringWithFormat:@"http://itunes.apple.com/us/app/id%@", @"在iTunes connect中可以查看到你的ID"]; [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];

2016-03-08 13:03:20 423

原创 arc下使用mrc

在Build Phase里面的Compile Source里面找到需要特殊处理的文件,双击选择。添加   -fno-objc-arc

2016-03-07 15:56:47 263

原创 alertView

alertView show之后会新建一个window,并且成为application的key window,此时要拿到用户的window可以参考:UIViewController *ctr = [[UIViewController alloc] init]; UINavigationController *nav = [[UINavigationController alloc] ctr]

2016-03-02 17:32:44 272

原创 获取当前控制器

//任意位置当前屏幕显示的viewcontroller- (UIViewController *)getCurrentVC{ UIViewController *result = nil; UIWindow * window = [[UIApplication sharedApplication] keyWindow]; if (window.windowLevel !=

2016-03-02 14:45:26 363

原创 runtime

((void(*)(id,SEL))objc_msgSend)(currentController,@selector(fillAllMoney));

2016-02-29 15:02:03 199

原创 画图片

`- (void)rotateTapped:(id)sender { UIImage *currentImage = _imageView.image; CGImageRef currentCGImage = currentImage.CGImage;CGSize originalSize = currentImage.size;CGSize rotatedSize = CGS

2016-02-29 11:25:44 262

原创 打开其他应用程序

//在配置文件添加:URL types(NSArray)->URL Schemes(NSArray):my app; URL(NSString):@"任意"NSURL *url = [NSURL URLWithString:@"myapp://"]; [[UIApplication sharedApplication]openURL:url];

2016-02-26 16:29:48 273

原创 下载

2. /Documents/。使用该路径放置关键数据,也就是不能通过App重新生成的数据。该路径可通过配置实现iTunes共享文件。可被iTunes备份。(现在保存在该路径下的文件还需要考虑iCloud同步)3. /Library/。该路径下一般保存着用户配置文件。可创建子文件夹。可以用来放置您希望被备份但不希望被用户看到的数据。该路径下的文件夹,除Caches以外,都会被iTunes备份。4. /

2016-02-25 17:02:04 325

转载 一行代码实现 归档解档

源地址:http://www.jianshu.com/p/fed1dcb1ac9f一、变量声明为便于下文讨论,提前创建父类Biology以及子类Person:Biology:@interface Biology : NSObject{ NSInteger *_hairCountInBiology;}@property (nonatomic, copy) NSString *intro

2016-02-25 16:38:01 909

原创 runtime 增加实例变量

能否向编译后得到的类中增加实例变量?能否向运行时创建的类中添加实例变量?为什么?不能向编译后得到的类中增加实例变量;能向运行时创建的类中添加实例变量;解释下:因为编译后的类已经注册在 runtime 中,类结构体中的 objc_ivar_list 实例变量的链表 和 instance_size 实例变量的内存大小已经确定,同时runtime 会调用 class_setIvarL

2016-02-24 16:43:29 1231

原创 数组排序

NSArray *temp; [temp sortedArrayUsingComparator:^NSComparisonResult(id _Nonnull obj1, id _Nonnull obj2) { NSDictionary *temp1 = obj1; NSDictionary *temp2 = obj2; if (temp2[@"addti

2016-02-24 14:46:06 273

原创 CABaseAnimation

animationWithKeyPath的值:   transform.scale = 大小 transform.scale.x = 宽的缩放比例 transform.scale.y = 高的缩放比例 transform.rotation.z = 平面图的旋转 opacity = 透明度 margin zPosition bac

2016-02-23 18:04:35 385

原创 scrollview中圆角处理

//滚动中一直处理圆角会阻塞UI,可设置下面的属性// 使视图渲染内容被缓存起来,[self.layer setShouldRasterize:YES];[self.layer setRasterizationScale:[UIScreen mainScreen].scale];

2016-02-18 11:44:36 1351

原创 navigationController

//设置页面有上拉手势的时候隐藏导航栏,快速下拉则显示导航栏self.navigationController.hidesBarsOnSwipe = YES;//设置页面有单击事件的时候隐藏导航栏,再次点击显示导航栏self.navigationController.hidesBarsOnTap = YES;

2016-02-17 14:08:24 304

原创 NSDate

fmt.locale = [[NSLocale alloc] initWithLocaleIdentifier:@”en_US”];//默认 typedef CF_ENUM(CFIndex, CFDateFormatterStyle) { // date and time format styles kCFDateFormatterNoStyle = 0, // 无输出

2016-02-17 11:45:31 230

原创 tabbar ios

tabBar图片被tintColor填充问题解决:nav.tabBarItem.image = [[UIImageimageNamed:@“barImage”]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];nav.tabBarItem.selectedImage [[UIImag imageNamed:@"barImgaeSe

2016-02-17 11:44:14 226

原创 scrollview自定义pageEnable

#pragma mark <UIScrollViewDelegate>- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView { _startY = scrollView.contentOffset.y;}- (void)scrollViewDidEndDragging:(UIScrollView *)scrollV

2016-02-17 11:41:51 3428

原创 获取对象的属性名、属性值、属性特性,协议列表

unsigned int count; objc_property_t *properties = class_copyPropertyList([self class], &count); for (int i =0; i < count; i ++) { const char *propertyName =property_getName(propertie

2016-02-17 11:37:46 666

原创 round、ceil、floor

extern float ceilf(float); extern double ceil(double); extern long double ceill(long double);extern float floorf(float); extern double floor(double); extern long double floorl(longdouble);extern fl

2016-02-16 14:25:07 277

iOS 10.3 disk image

~/Applications/Xcode7_3.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport, 或者右键xcode显示包内容,/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

2017-05-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除