自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 设置行间距,计算label的高度 ios

当这是label的行间距时,计算大小如果用sizetofit,当只有一行文字时,会计算出一个行间距。这样计算出的高度就不正确。下面是计算富文本文字的高度。//为了算出一行的高度,shoreString如果含有换行,计算出来一行的高度不对。所以用test代替    CGFloat oneRowHeight = [@"test"sizeWithAttributes:@{NSFont

2016-05-23 15:59:58 1541

原创 判断子view是否添加到父view上

if (![subViewisDescendantOfView:parentView]) {              NSLog(@"已添加上");        }

2016-05-23 15:31:00 4654

转载 runtime

什么是runtime?runtime直译就是运行时间,run(跑,运行) time(时间),网上大家都叫它运行时,它是一套比较底层的纯C语言API,属于一个C语言库,包含了很多底层的C语言API,它是OC的幕后工作者,我们平时写的OC代码,在运行过程时,都会转为runtime的C语言代码runtime有什么用?如果你之前不知道runtime,可能觉得它没什么用,其实他的作用

2016-04-08 15:25:39 653

转载 iOS开发编码建议与编程经验

在开发过程中,我们不仅要去看别人的代码,也要让别人看我们的代码。那么,有一个良好的编码习惯将会非常重要。下面将会罗列使用Objective-C来开发iOS的编码建议。【1】任意函数长度不得超过50行。(其实很容易就超过50行,这就要考虑代码抽取了。)【2】任意行代码不能超过80字符。(其实也很容易超过80字符,可以考虑多行显示,比如有多个参数时,可以每个参数放一行。)可以在Xcod

2016-03-24 10:09:06 737

原创 聚焦内容的视图布局 OC

FocusCollectionViewLayout是UICollectionViewLayout 的子类,可以聚焦 UICollectionViewCell 内容。首先建FocusCollectionViewLayout继承UICollectionViewFlowLayout,改变每个cell的frame。standartHeight是不被聚焦的cell高度。

2016-02-18 18:14:04 1007 1

转载 从2月14号开始,上传AppStore会碰到:Failed to locate or generate matching signing assets

从2月14号开始,上传AppStore时可能会碰到这个问题:Failed to locate or generate matching signing assetsXcode attempted to locate or generate matching signing assets and failed to do so because of the following iss

2016-02-16 14:59:29 3246

原创 iOS9 xib加载正常,ios8.4加载缓慢

写好界面,想看看适配是否正常,就打开模拟器8.4运行了下,点击按钮,至少反应3-5s才进到页面,之后把所有型号手机系统8.4的都跑了一遍,都出现反应迟钝的问题,由于页面都是用xib写的,并且是多个cell的问题,开始以为是加载cell太多导致的这个问题,之后让一条cell的返回,发现只有其中1个cell加载缓慢,由于cell里面的控件没几个,就首先去检查写的代码,全部都注释掉,还是加载缓慢,转而转

2016-01-19 14:11:45 1476

转载 让Xcode的控制台支持LLDB类型的打印

这有什么用?怎么说尼,笔者认为这个还是比较有用滴,为什么有用尼?因为在Xcode断点调试的时候, 在控制台输入 po self.view.frame 或者 po id 类型的时候就死翘翘了。不信? 看如下图 :进入正题打开终端输入三条命令:1. touch ~/.lldbinit2. echo display @import UIKit >> ~/.lldbin

2016-01-04 11:44:53 1519

原创 解决Xcode7多个模拟器的方法

xcode模拟器都这样显示,没办法判断是哪个系统,解决办法是1.关闭xcode2.终端输入 sudo killall -9 com.apple.CoreSimulator.CoreSimulatorService 输入你的电脑密码3.终端输入 rm -rf ~/Library/Developer/CoreSimulator/Devices

2016-01-04 11:15:11 3437

原创 使用GCD实现倒计时

__blockNSInteger timeout = 300;    dispatch_queue_t queue =dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0);    dispatch_source_t _timer =dispatch_source_create(DISPATCH_SOURCE

2015-12-07 13:59:45 789

转载 ios开发之block的使用,及注意事项

Block作为C语言的扩展,并不是高新技术,和其他语言的闭包或lambda表达式是一回事。需要注意的是由于Objective-C在iOS中不支持GC机制,使用Block必须自己管理内存,而内存管理正是使用Block坑最多的地方,错误的内存管理 要么导致return cycle内存泄漏要么内存被提前释放导致crash。 Block的使用很像函数指针,不过与函数最大的不同是:Block可以访问函数

2015-12-03 18:00:10 2938

原创 UIPickView 的高度 iOS9 Xcode7

UIPickView在ios9之前的高度都是不可调整的,默认是216,即使设置的UIPickView的高度为100,最后的高度还是216。由于不可改,在程序中高度都默认写成了0,但是在Xcode7,ios9上运行,pickView没有显示,开始一直以为是数据源的问题,后来才发现是高度所致,给UIPickView设置个高度就可以。

2015-09-29 15:13:12 1360

原创 取消延迟执行函数 cancelPreviousPerformRequestsWithTarget

延迟执行函数[self performSelector:@selector(scrollDone)withObject:nilafterDelay:0.5];在0.5秒内取消执行函数,带的参数必须一样,才能取消成功[NSObjectcancelPreviousPerformRequestsWithTarget:meselector:@selector(scr

2015-08-18 16:48:08 17624

原创 滚动时隐藏navigationbar

self.navigationController.hidesBarsOnSwipe =YES;

2015-06-11 15:42:33 2381

转载 UIView和CALayer的区别和联系

面试的时候遇到一个问题,UIView和CALayer的区别,确实还不知道具体的区别,所以研究了下他们俩之间的关系。1, uiview 是uikit的(只能iOS使用)  calayer 是QuartzCore的(ios 和mac os通用)2, calayer 比uiview更加轻量级别, 但是可以实现同样的效果3, uiview比calayer多了一个事件处理

2015-06-07 19:35:14 1046

原创 uibutton block

用block实现点击事件之后的回调

2015-06-07 18:06:08 627

原创 UITableViewCell使用自动布局计算高度

今天心情不好,公司迟迟不发工资,说河南的公司资金出现问题,所以北京公司没办法发工资,真是坑爹公司,郁闷今天遇到一个问题,使用了自动布局自动计算高度,但是出现cell每次都初始化,不复用,最后找到解决办法。下面是解决办法在- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSInd

2015-05-28 17:58:23 4648

转载 Offset UITableView Content When Keyboard Appears

This post will show how to adjust the content insets of a uitableview or uitextview when the keyboard pops up, so nothing is hidden underneath. I’m just going to jump right into the code for this one

2015-05-21 11:35:39 735

原创 layer.borderWidth 边框粗细问题

最近做一瀑布流项目,产品要求边框线是1像素,为了适配6和6plus,1除以3是除不尽的,如果设置borderWidth为0.3,有的机型显示不出来,所以设置borderWidth为0.5.但这出现另外一种情况,四周的边框线粗细不一致,这个问题折磨了我很久,最终找到了解决办法CGFloat scale = [[UIScreen mainScreen] scale];CGFloat widt

2015-05-09 22:20:01 12301 3

原创 CUICatalog: Invalid asset name supplied:

今天写了加载图片,默认图片写的是[UIImageimageNamed:@""],之后就报下面的错误,这个提示的意思是说你用了这个方法 [UIImage imageNamed:name];但是这个name却是空的,所以就报了这个错了。解决方法,在项目中搜索UIImage imageNamed:,然后打印看看所谓的name是否为空。找到后替换。

2015-05-08 10:12:48 29747

原创 objc_msgSend()报错Too many arguments to function call ,expected 0,have3

Build Setting--> Apple LLVM 6.0 - Preprocessing--> Enable Strict Checking of objc_msgSend Calls  改为 NO

2015-01-09 17:46:24 16886

原创 xcode6中新建空工程和在iPhone5s上的程序界面只有iPhone4上的大小

升级xcode6之后,直接建立Empty工程后发现,这是太坑,真的是什么都没有啊。只能换个方法了总结如下:1.新建一个single view application2.打开 Info.plist(别告诉我不知道去哪里找info.plist),删除里面的 Launch screen interface file base name以及 Main Main storyboard

2014-11-24 14:49:07 3406 2

原创 @2x与@3x的图片加载问题

使用initWithContentsOfFile可以优先选择3x图像,而不是2x图像。NSString *path = [[NSBundlemainBundle] pathForResource:@"smallcat"ofType:@"png"];UIImage *image = [[UIImagealloc]initWithContentsOfFile:path]

2014-11-06 16:35:09 13844

原创 判断iOS的设备型号

- (NSString*) doDevicePlatform{    size_t size;    intnR = sysctlbyname("hw.machine", NULL, &size, NULL, 0);    char*machine = (char*)malloc(size);    nR = sysc

2014-10-11 17:43:20 6013

原创 检测网络是否有网络

-(BOOL) isConnectionAvailable{    // Create zero addy   struct sockaddr_in zeroAddress;   bzero(&zeroAddress, sizeof(zeroAddress));    zeroAddress.sin_len =sizeof(zeroAddress); 

2014-09-29 14:30:09 674

转载 禁止NSLog使用,在release版本禁止输出NSLog内容

来自:http://blog.csdn.net/xunyn/article/details/8021168参考: http://blog.sina.com.cn/s/blog_67996868010178gh.html参考:http://www.cnblogs.com/yingkong1987/archive/2012/10/26/2740459.html在程序开发中,我们

2014-09-09 14:14:48 637

转载 iOS多线程GCD

Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法。dispatch queue分成以下三种:1)运行在主线程的Main queue,通过dispatch_get_main_queue获取。/*!* @function dispatch_get_main_queue** @abstract* Returns the

2014-08-12 17:46:36 560

转载 AutoLayout(自动布局)入门

这是WWDC2012笔记系列中的一篇,完整的笔记列表可以参看这里。如果您是首次来到本站,也许您会有兴趣通过RSS的方式订阅本站。 AutoLayout在去年的WWDC上被引入Cocoa,而在今年的WWDC上,Apple不惜花费了三个Session的前所未见的篇幅来详细地向开发者讲解AutoLayout在iOS上的应用,是由起原因的:iPhone5的屏幕将变为4寸,开发者即将面临为不同尺寸屏幕进

2014-07-17 16:20:43 683

原创 swift 问号和叹号的理解

"!"表示这个可选变量存在,可以使用,如果用"!"访问不存在的可选变量会导致一些错误"?"表示这个变量可能不存在,如果不存在,"?"所在语句后面的内容都不会执行

2014-07-08 11:56:00 4531

转载 iOS 类别和扩展(Categories和Extensions)

分类(Category) 分类能够做到的事情主要是:即使在你不知道一个类的源码情况下,向这个类添加扩展的方法。 此外,分类能够保证你的实现类和其他的文件区分开。 1 #import “UIViewController.h”2 @interface UIViewController(CustomView)3 -(void)extMeth

2014-07-02 15:24:40 3155

转载 播放GIF图片 ---YLGIFImage

YLGIFImage 是异步加载GIF图片的类,支持GIF图片的播放与暂停。它用的内存很少,完全解码GIF通常会消耗600MB的内存(800x600x389x4 Bytes),但是如果你用了YLGIFImage,它只占用30MB内存。 上面这张GIF图片。iOS加载时会直接崩溃,而使用了YLGIFImage,那就不会。下载地址:git:htt

2014-07-01 16:29:48 4410

转载 获取设备的型号信息,比如iPhone5s,iPhone5等等

获取设备的型号信息,比如iPhone5s,iPhone5等等。?12345678910111213141516171819202122232425262

2014-06-11 17:28:57 4079

转载 开源免费天气预报接口API以及全国所有地区代码!!(国家气象局提供)

国家气象局提供的天气预报接口接口地址:http://www.weather.com.cn/data/sk/101010100.htmlhttp://www.weather.com.cn/data/cityinfo/101010100.htmlhttp://m.weather.com.cn/data/101010100.html对于第三个接口,返回

2014-06-09 11:57:20 128721 10

转载 [iOS翻译]《The Swift Programming Language》系列:Welcome to Swift-01

全书目录:一、Welcome to Swift二、Language Guide三、Language Reference /*译者的废话:几个小时前熬夜看了WWDC,各种激动,今年很有料啊!当看到Swift出来的时候,瞬间傻眼,又要学习新语言了。这篇文章来自苹果官方的《The Swift Programming Language》一书,500页

2014-06-03 11:39:33 2633

原创 property's synthesized getter follows Cocoa naming convention for returning 'owned' objects

因为苹果在新的编码,不推荐变量以new、copy等关键字开头。

2014-04-15 22:51:36 1006

转载 最全的常用正则表达式--包含校验数字、字符、一些特殊的需求等等

http://www.cnblogs.com/zxin/archive/2013/01/26/2877765.html

2014-03-28 16:25:01 709

转载 定制iOS 7中的导航栏和状态栏

近期,跟大多数开发者一样,我也正忙于对程序进行升级以适配iOS 7。最新的iOS 7外观上有大量的改动。从开发者的角度来看,导航栏和状态栏就发生了明显的变化。状态栏现在是半透明的了,这也就意味着导航栏会显示在状态栏后面。有些情况下,导航栏的背景图片可以延伸显示到状态栏后面。 之前我曾经写过一篇关于如何定制导航栏的文章。不过现在是时候对其进行更新了。下面就是本文将要介绍的内容:

2014-03-27 13:40:57 1037

转载 No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_

错误代码:No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=armv7 armv7s)xcodebuild 这个target的时候命令行报错。LY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_A

2014-03-27 13:01:43 20622

转载 在iOS开发中使用FMDB

前言http://blog.devtang.com/blog/2012/04/22/use-fmdb/SQLite (http://www.sqlite.org/docs.html) 是一个轻量级的关系数据库。iOS SDK很早就支持了SQLite,在使用时,只需要加入 libsqlite3.dylib 依赖以及引入 sqlite3.h 头文件即可。但是,原生的SQLi

2014-03-19 14:26:57 793

原创 corePlot柱状图

CPTBarPlot *barPlot = [CPTBarPlot tubularBarPlotWithColor :[CPTColorblueColor] horizontalBars :NO ];        barPlot.fill = [CPTFillfillWithColor:[ CPTColorcolorWithComponentRed:75.

2014-03-14 11:54:32 1468 1

空空如也

空空如也

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

TA关注的人

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