自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

原创 ios 图片不被扭曲

UIImageView* imageView = [[UIImageView alloc] init];imageView.contentMode=UIViewContentModeScaleAspectFill;imageView.clipsToBounds=YES;//  是否剪切掉超出 UIImageView 范围的图片[imageView setContentScaleFact

2017-03-21 11:56:04 508

原创 关于Carthage添加的框架image not found问题

carthage导入的框架,在targets-Build Phases-Link Binary With Libraries添加完frameworks以后,运行程序会出现image not found错误。解决办法:在targets-Build Phases点击左上角+号,选择new copy files phases选项,Destination一定要选择frameworks,将你添加的fra

2017-01-09 10:32:25 940

转载 iOS开发 Xcode8中遇到的问题及改动

原文链接:http://www.jianshu.com/p/90d5323cf510一、遇到的问题1、权限以及相关设置iOS10系统下调用系统相册、相机功能,或者苹果健康都会遇到闪退的情况,调用系统相册报错描述如下:This app has crashed because it attempted to access privacy-sensitive

2016-12-28 17:19:39 500

转载 关于AFHTTPRequestOperationManager跟AFURLSessionManager的区别

AFNetworking的作者kylef在回答这个问题时如此说道:AFHTTPRequestOperationManager uses NSOperation’s under the hood, and it uses the older NSURLConnection API from Apple. It works on iOS 6 and onwards. AFURLSessio

2016-12-22 11:44:02 735

转载 苹果开发者账号和证书那些事

1、 苹果开发者账号有四种类型,分别是:个人开发者账号:99$一年,可以在AppStore上架,并且在app后面显示个人ID;每年最多只能添加一百个苹果设备对app进行真机调试;只要付费就可以申请;一般是个人使用或者小公司偶尔使用(AppStore显示的是个人名字,不是公司名)。企业开发者账号:299$一年,不可以在AppStore上架(所以也就不需要苹果的审核就能直接批量安装

2016-11-30 14:39:10 4081

原创 iOS判断字符串是否为空字符串

+ (BOOL)isBlankString:(NSString *)string{ if (!string) { return YES; } if ([string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]].length == 0) {

2016-11-25 11:02:57 235

转载 iOS10 Xcode8真机测试 code signing is required for product type 'Application' in SDK 'iOS 10.0'

在日常测试中会遇到code signing is required for product type 'xxxxx' in SDK 'iOS 10.0'  ,具体如下解决方法按照以下步骤依次设置,clean再运行

2016-11-23 14:43:20 325

转载 iOS 获取当前正在显示的ViewController

1.我们在非视图类中想要随时展示一个view时,需要将被展示的view加到当前view的子视图,或用当前view presentViewController,或pushViewContrller,这些操作都需要获取当前正在显示的ViewController。//获取当前屏幕显示的viewcontroller - (UIViewController *)getCurrentVC

2016-11-18 09:56:50 407

转载 iOS8官方推荐图标和图像尺寸

每一个应用程序需要一个应用程序图标和启动图像。此外,一些应用程序需要自定义的图标来表示特定于应用程序的内容,功能,或在导航栏,工具栏和标签栏模式AssetiPhone 6 Plus (@3x)iPhone 6 and iPhone 5 (@2x)iPhone 4s (@2x)iPad and iPad mi

2016-11-17 14:44:09 1750

转载 关于Certificate、Provisioning Profile、App ID的介绍及其之间的关系

刚接触iOS开发的人难免会对苹果的各种证书、配置文件等不甚了解,可能你按照网上的教程一步一步的成功申请了真机调试,但是还是对其中的缘由一知半解。这篇文章就对Certificate、Provisioning Profile等做个总结。 1.概念介绍如果你拥有一个开发者账户的话,在iOS Dev Center打开Certificates, Indentifiers & Profiles

2016-11-11 11:05:00 508

转载 UIAlertView点击背景消失的方法

_phoneAlert = [[UIAlertView alloc]initWithTitle:@"" message:@"请选择要选择的电话" delegate:self cancelButtonTitle:nil otherButtonTitles:@"商家电话",@"客服电话",@"客服微信", nil]; [_phoneAlert show]; UITapGest

2016-11-10 13:54:20 1401

转载 iOS开发基础知识:Core Animation(核心动画)

转自:http://www.jianshu.com/p/8c1c1697c0ceCore Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍。也就是说,使用少量的代码就可以实现非常强大的功能。Core Animation可以用在Mac OS X和iOS平台。Core Animation的动画执行过

2016-10-17 09:31:31 252

转载 封装NSLog打印调试信息

适用于debug模式想输出log,release模式不输出log。 解决步骤:修改-Prefix.pch ,增加以下的宏代码#ifdef DEBUG  # define NSLogger(fmt, ...) NSLog((@"[文件名:%s]\n" "[函数名:%s]\n" "[行号:%d] \n" fmt), __FILE__, __FUNCTIO

2016-10-09 16:12:29 1035

转载 NSTimer

NSTimerfire我们先用 NSTimer 来做个简单的计时器,每隔5秒钟在控制台输出 Fire 。比较想当然的做法是这样的:12345678910111213141516@interface DetailV

2016-09-18 13:23:30 456

原创 将CoreFoudation对象转换成OC对象

例如: CFMutableArrayRef ref = CFArrayCreateMutable(kCFAllocatorDefault, 0, NULL); NSMutableArray *array = (__bridge_transfer NSMutableArray*)ref; [array addObject:@"hello"]; [array addO

2016-09-14 11:29:29 254

原创 关于并发线程的等待问题

有时候,我们多个线程执行任务,但是想A线程和B线程执行完毕以后C线程才能只能,C线程执行以后才能执行线程D。这种需求,就可以用GCD中的栅栏函数。如下代码。#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad {

2016-09-14 11:16:28 466

原创 UI控件用weak还是用strong修饰

#import "ViewController.h"@interface ViewController ()@property (nonatomic, weak) UIView *weakView;@property (nonatomic, weak) UIView *selfWeakView;@property (nonatomic, strong) UIView *strongVie

2016-09-13 09:28:50 2813

转载 深入理解RunLoop

RunLoop 是 iOS 和 OSX 开发中非常基础的一个概念,这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理。之后会介绍一下在 iOS 中,苹果是如何利用 RunLoop 实现自动释放池、延迟回调、触摸事件、屏幕刷新等功能的。IndexRunLoop 的概念RunLoop 与线程的关系RunLoop 对外的接口RunLoop

2016-09-09 09:27:20 315

转载 iOS 宏(define)与常量(const)的正确使用

在iOS开发中,经常用到宏定义,或用const修饰一些数据类型,经常有开发者不知怎么正确使用,导致项目中乱用宏与const修饰你能区分下面的吗?知道什么时候用吗?#define HSCoder @"汉斯哈哈哈"NSString *HSCoder = @"汉斯哈哈哈";extern NSString *HSCoder;extern const NSString *HSCoder;s

2016-09-01 10:05:37 215

转载 swift新特性(__nullable和__nonnull)

在swift中,可以使用!和?来表示一个对象是optional的还是non-optional,如view?和view!。而在Objective-C中则没有这一区分,view即可表示这个对象是optional,也可表示是non-optioanl。这样就会造成一个问题:在Swift与Objective-C混编时,Swift编译器并不知道一个Objective-C对象到底是optional还是n

2016-09-01 09:39:08 1075

原创 关于iOS8设置-隐私-定位崩溃问题

iOS8点击设置-->隐私-->定位-->对应程序,设置界面闪退问题解决(1)plist文件新加两条变量:     a、NSLocationAlwaysUsageDescription=YES;      b、NSLocationWhenInUseUsageDescription=YES去info.plist文件查找这两个变量,可能是boolean类型的,如果是就改

2016-08-29 16:49:07 699

转载 iOS应用内跳转系统设置相关界面的方法

在iOS开发中,有时会有跳转系统设置界面的需求,例如提示用户打开蓝牙或者WIFI,提醒用户打开推送或者位置权限等。在iOS6之后,第三方应用需要跳转系统设置界面,需要在URL type中添加一个prefs值,如下图:        跳转系统设置根目录中的项目使用如下的方法:         _array = @[               @{@"系统设置":@"prefs:roo

2016-08-17 17:58:28 297

原创 iOS的坐标真正从(0,0)开始

if ([self respondsToSelector:@selector(setEdgesForExtendedLayout:)]) { [self setEdgesForExtendedLayout:UIRectEdgeNone]; }在ViewDidLoad里面调用这句话。另外如果想做导航栏穿透效果,最后是隐藏导航栏,然后自定义一个导航栏,如果在导航

2016-07-25 17:22:53 4216

原创 iOS中的私有属性问题

iOS中.m文件中声明的属性是私有的,但是不是绝对私有的。私有属性通过KVC可以设置和获得该属性的。而私有是相对于封装后他人不知道你的私有属性的情况下的私有。例子如图:Person.h#import @interface Person : NSObject- (NSString *)getName;- (NSInteger)getAge;@endPerson.m#i

2016-07-01 16:44:20 1027

原创 关于@property定义的属性和大括号里定义的属性的区别

@propery修饰的属性可以被外部文件直接访问,而大括号里面声明的属性是不能被外部文件访问的。原理:@property修饰的属性其实是自动生成该属性以及该属性的getter,setter方法的声明以及实现。而大括号里面的属性仅仅生成该属性。即:#import @interface Person : NSObject@property (nonatomic, copy) NSStr

2016-07-01 15:36:49 2093

原创 iOS中@Property声明的属性同时重写getter和setter方法报错问题

在.h或者.m文件中用@property声明一个属性时。如果同时重写getter和setter方法,会报“该变量没有定义的错误”。如:ViewController.h#import @interface ViewController : UIViewController@property (nonatomic, assign) NSInteger num;@end

2016-07-01 14:29:38 6054 1

转载 Associated Objects,可以为分类添加属性(原则上分类是不可以添加属性的)

“Objective-C开发者在遇到上面这条“咒语”相关的一些东西时,会不自觉的变的非常谨慎。一个主要原因是:弄乱Objective-C运行时可能会改变整个实现结构,因为所有的代码都是运行在它之上的。”#import  Objective-C开发者在遇到上面这条“咒语”相关的一些东西时,会不自觉的变的非常谨慎。一个主要原因是:弄乱Objective-C运行时可能

2016-06-30 11:43:00 277

转载 iOS:导航条滚动透明度随着tableView的滚动而变化

来源:HelloYeah 链接:http://www.jianshu.com/p/b8b70afeda81下面这个界面有没有觉得很眼熟。打开你手里的App仔细观察,你会发现很多都有实现这个功能。比如美团外卖的首页模块,新浪微博的个人详情页面。要怎么样才能快速的实现这个功能呢!那下面由笔者来告诉你如何三行代码,集成这个功能。。。 原理介绍:要想把一个v

2016-06-29 11:19:34 5770 1

转载 iOS开发网络篇—数据缓存

转载自:http://www.cnblogs.com/wendingding/p/3950198.htmliOS开发网络篇—数据缓存一、关于同一个URL的多次请求  有时候,对同一个URL请求多次,返回的数据可能都是一样的,比如服务器上的某张图片,无论下载多少次,返回的数据都是一样的。    上面的情况会造成以下问题(1)用户流量的浪费(2)程序响应速度

2016-06-29 11:08:46 247

原创 将Log日志重定向输出到文件中保存(iOS)

对于真机,日志没法保存,不好分析问题。所以有必要将日志保存到应用的Docunment目录下,并设置成共享文件,这样才能取出分析。       首先是日志输出,分为c的printf和标准的NSLog输出,printf会向标准输出(sedout)打印,而NSLog则是向标准出错(stderr),我们需要同时让他们都将日志打印到一个文件中。       例子: freopen("

2016-06-29 10:28:18 1421

原创 关于百度推送证书问题

在开发者中心申请aps_development.cer证书,具体过程请百度。双击aps_development.cer,打开 钥匙串访问,选择登陆,下面选择证书,选择你申请的证书(注意看后面的bundle id),你将看到一个可扩展选项“Apple Development Push Services”,扩展此选项然后右击“Apple Development Push Ser

2016-05-05 10:38:52 1911

原创 关于ios8以上原生推送不执行返回deviceToken方法的解决

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { if ([application respondsToSelector:@selector(isRegisteredForRemoteNotifications

2016-05-04 17:45:36 1773 3

转载 关于ios推送的教程

好久没有写过博客啦,今天就由本菜鸟给大家做一个简单的IOSApp消息推送教程吧!一切从0开始,包括XCode6, IOS8, 以及苹果开发者中心最新如何注册应用,申请证书以及下载配置概要文件,相信很多刚开始接触ios的人会很想了解一下。(ps:网上看了一下虽然有很多讲述推送的好教程,我也是看着一步步学会的,但是这些教程的时间都是去年或者更早时期的,对引导新手来说不是很合适)第一部分

2016-05-04 16:42:30 313

转载 关于Xcode的Other Linker Flags

在ios开发过程中,有时候会用到第三方的静态库(.a文件),然后导入后发现编译正常但运行时会出现selector not recognized的错误,从而导致app闪退。接着仔细阅读库文件的说明文档,你可能会在文档中发现诸如在Other Linker Flags中加入-ObjC或者-all_load这样的解决方法。 那么,Other Linker Flags到底是用来干什么的呢?还有-ObjC

2016-04-11 11:14:04 224

转载 OSX10.11安装cocoapods

1.替换ruby更新源.gem sources --remove https://rubygems.org/ gem sources -a https://ruby.taobao.org/注意:是https,不是http2.验证更新是否成功.gem sources -l*** CURRENT SOURCES *** https://ruby.taobao.org/3

2016-04-11 09:29:41 240

转载 Xcode6 StoryBoard页面跳转和传值

先来看下面的一副图:这幅图展示了segue的类型:Show根据当前屏幕中的内容,在master area或者detail area中展示内容。例如:如果app当前同时显示master和detail视图,内容将会压入detail区域。           如果app当前仅显示master或者detail视图,内容则压入当前视图控制器堆栈中的

2016-03-31 14:58:18 3170

转载 一个tabBarController管理多个Storyboard

随着项目的业务逻辑越来越复杂,随着项目越来越大,那么我们Storybard中得控制器就越来越多, 就越来越难以维护。然而使用Storyborad又能更方便的帮助我们做屏幕适配(PS:尤其在6、6+出来后)。我们可以将复杂的问题简单化,通过创建多个Storyboard分别管理不同的模块的方式来优化代码,分成两步:好处:多个Storyboard可以分开管理,一个人负责一块儿,提交代码时不冲突;

2016-03-31 14:51:43 440

原创 使用AVFoundation生成缩略图

#import "ViewController.h"#import @interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; //获取第13.0s的缩略图 [self thumbnailImage

2016-03-14 10:04:12 357

原创 关于MPMoviePlayerController的一些知识

MPMoviePlayerController可以设置视频的frame.即设置其view的frame.监听MPMoviePlayerController的全屏按钮和退出全名按钮的方法就是添加通知.[notificationCenter addObserver:self selector:@selector(willFullScreen:) name:MPMoviePlayerWillEnt

2016-03-14 09:54:37 434

原创 通过CAGradientLayer制作渐变色效果

Gradient:本身就是梯度的意思,其中CAGradientLayer是Layer的子类.一般CAGradientLayer可以用于遮罩效果.用法简介:首先,实例化: //初始化imageView UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"i

2016-03-14 09:14:25 393

空空如也

空空如也

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

TA关注的人

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