
IOS开发问题
文章平均质量分 70
安静打代码
这个作者很懒,什么都没留下…
展开
-
iOS实现圆形头像
前言随着腾讯QQ的普及,现在越来越多的社交类APP在显示好友头像时,都选择用圆形头像,效果如下(不包括黑底):在ios开发中,大致有以下三种方案来实现圆形头像效果。方案一:用Quartz2D绘制具体代码如下:[objc] view plaincopy+ (UIImage *)circleImageWithN转载 2015-01-28 15:12:08 · 518 阅读 · 0 评论 -
CGContextRef
quartz 是主要的描画接口,支持基于路径的描画、抗锯齿渲染、渐变填充模式、图像、颜色、坐标空间变换、以及PDF 文档的创建、显示、和分析。UIKit 为Quartz 的图像和颜色操作提供了Objective-C 的封装。Core Animation 为很多UIKit 的视图属性声明的动画效果提供底层支持,也可以用于实现定制的动画。在调用您提供的drawRect:方法之前,视图对转载 2014-03-04 14:23:17 · 543 阅读 · 0 评论 -
NSError
一、获取系统的错误信息比如移动文件时,获取文件操作错误:NSError *e = nil;[[NSFileManager defaultManager] moveItemAtPath:sourcePath toPath:targetPath error:&e];if (e) { NSLog(@"move failed:%@", [e localizedDescription]);转载 2014-01-02 11:48:40 · 610 阅读 · 0 评论 -
NSSet
NSSet到底什么类型,其实它和NSArray功能性质一样,用于存储对象,属于集合; NSSet , NSMutableSet类声明编程接口对象,无序的集合,在内存中存储方式是不连续的,不像NSArray,NSDictionary(都是有序的集合)类声明编程接口对象是有序集合,在内存中存储位置是连续的; NSSet和我们常用NSArry区别是:在搜索一个一个元素转载 2013-12-19 18:58:29 · 844 阅读 · 0 评论 -
iOS获取键盘的高度
- (void)viewDidLoad{ [super viewDidLoad]; //增加监听,当键盘出现或改变时收出消息 [[NSNotificationCenter defaultCenter] addObserver:self s转载 2014-03-13 16:39:10 · 468 阅读 · 0 评论 -
NSBundle
本文想简单介绍一下NSBundle读取图片到视图上,读取plist文件,读取txt文件显示在lable上;关于bundle作用在网上参考了两个博客,介绍如下:bundle是一个目录,其中包含了程序会使用到的资源. 这些资源包含了如图像,声音,编译好的代码,nib文件(用户也会把bundle称为plug-in). 对应bundle,cocoa提供了类NSBundle.转载 2013-12-18 15:36:38 · 619 阅读 · 0 评论 -
NSInvocation selector 参数问题
一、概述在 iOS中可以直接调用 某个对象的消息 方式有2种第一种方式是使用NSObject类提供的performSelector系列方法还有一种方式就是使用NSInvocation进行动态运行时的消息分发,动态的执行方法,相信大家一定经常使用NSObject类提供的performSelector系列方法,在这里就不再对此进行描述了,今天主要是分享一下使用N转载 2014-03-06 15:49:47 · 1339 阅读 · 0 评论 -
UIALertView的基本用法与UIAlertViewDelegate对对话框的事件处理方法
首先,视图控制器必须得实现协议UIAlertViewDelegate中的方法,并指定delegate为self,才能使弹出的Alert窗口响应点击事件。具体代码如下:ViewController.h中的代码如下:[cpp] view plaincopy#import @interface ViewCon转载 2014-03-04 16:59:30 · 586 阅读 · 0 评论 -
关于UIView的autoresizingMask属性
在 UIView 中有一个autoresizingMask的属性,它对应的是一个枚举的值(如下),属性的意思就是自动调整子控件与父控件中间的位置,宽高。123456789enum { UIViewAutoresizingNone =转载 2014-03-03 19:46:19 · 771 阅读 · 0 评论 -
Thread
不管是iphone中还是其他的操作系统,多线程在各种编程语言中都是难点,很多语言中实现起来很麻烦,objective-c虽然源于c,但其多线程编程却相当简单,可以与java相媲美。多线程编程是防止主线程堵塞,增加运行效率等等的最佳方法。而原始的多线程方法存在很多的毛病,包括线程锁死等。一、线程创建与启动线程创建主要有二种方式:(id)init; // designate转载 2013-12-25 18:43:21 · 547 阅读 · 0 评论 -
各种~~
1、NSCalendar用法 -(NSString *) getWeek:(NSDate *)d{NSCalendar *calendar = [[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];unsigned units = NSYearCalendarUnit | NSM转载 2013-12-20 15:38:55 · 3172 阅读 · 0 评论 -
tableView:moveRowAtIndexPath:toIndexPath:看内存管理
/*今天本来在研究tableView:moveRowAtIndexPath:toIndexPath:这个方法,但是一个crash,让我有了一些有意思的发现,从而让我对内存管理有了更深的认识,不过这些只是我的个人理解,或许不正确,希望大家看过以后也可以发表一下意见*/首先我就直接上一段代码- (void)tableView:(UITableView *)tableView moveRow原创 2013-12-18 21:16:24 · 2474 阅读 · 0 评论 -
如何设置CGColor颜色值
通过Core Library的文档,我们知道创建颜色有这么几个方法:CGColorCreateCGColorCreateCopyCGColorCreateGenericGrayCGColorCreateGenericRGBCGColorCreateGenericCMYKCGColorCreateCopyWithAlphaCGColorCreateWithPatter转载 2015-01-22 16:27:11 · 697 阅读 · 0 评论 -
Core Graphics 绘图
转自:http://blog.youkuaiyun.com/richard_rufeng/article/details/25146489第一、UIKit:cocoa touch 框架,高层次的框架,允许开发人员创建视图、窗口、按钮和其他UI组件。同时将一些低级别的api引入到易于使用的高级别API中。Quartz 2D:IOS上绘图的主要引擎;UIKit上就使用Quartz。Core转载 2015-01-22 16:56:10 · 666 阅读 · 0 评论 -
iOS中UITableView单选标记的实现
摘录自《iPhone3开发基础教程》第202页:#pragma mark -#pragma mark Table Delegate Methods- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ int new转载 2014-03-04 20:51:29 · 2407 阅读 · 0 评论 -
自定义uitableviewcell的几种运用方法
1.利用xib设计好自定义的cell并且连接好控件后 有两种方法引用我们自己的cell 方法1: 1 -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 2 { 3 static NSString转载 2015-01-30 17:33:38 · 444 阅读 · 0 评论 -
C/ObjC不定参数与哨兵参数
原文链接:http://www.guokr.com/blog/160155/在C/ObjC中,如何写一个参数个数可变的函数?比如printf,可以接收多个输入参数。一种靠谱的解决方案是使用stdarg.h中提供的函数。示例如下:其中关键的函数有va_start(),va_arg(),va_end(),还需声明一个va_list类型的变量来存储所有参数。程序中以0为标识表示没转载 2015-02-03 10:33:57 · 798 阅读 · 0 评论 -
iOS 多参数 ...NS_REQUIRES_NIL_TERMINATION 的写法
原文出自http://blog.youkuaiyun.com/worn_nest/article/details/79930181.很早就看到项目里面有下面这样的写法[cpp] view plaincopyprint?- (id) initWithTitle:(NSString *)title items:(MXContextMenuItem *转载 2015-02-03 10:25:55 · 655 阅读 · 0 评论 -
User Defined Runtime Attributes
User Defined Runtime Attributes 是一个不被看重但功能非常强大的的特性,它能够配置一些你在interface builder 中不能配置的属性。当你希望在IB中作尽可能多得事情,这个特性能够帮助你编写更加轻量级的viewcontroller。1.如何使用当你使用interface builder是点击任意一个控件,转换到identity Ins转载 2015-02-04 18:07:06 · 566 阅读 · 0 评论 -
NSUserDefaults
NSUserDefaults适合存储轻量级本地数据,比如要保存用户登陆的用户名、密码,使用NSUserDefaults是首选。下次再登陆的时候就可以直接从NSUserDefaults里面读取上次登陆的信息。NSUserDefaults支持的数据格式有:NSNumber(Integer、Float、Double),NSString,NSDate,NSArray,NSDictionary,BO转载 2014-03-04 16:05:07 · 582 阅读 · 0 评论 -
How to use stringWithContentsOfURL:encoding:error:
How to use stringWithContentsOfURL:encoding:error:?up vote8down votefavorite4I am trying to use initWithContentsOfURL:encoding:error: like this :NS转载 2014-01-03 10:22:21 · 2041 阅读 · 0 评论 -
UIScrollview
下面我用怎么做一个书架的例子和大家说说contentsize、contentoffset 和contentInset的区别。[plain]NSString *path = nil; UIImage *back = nil; NSString *str = nil; UIImage *aImage = nil; path = [[NSBundle mainBundl转载 2013-12-20 11:53:54 · 733 阅读 · 1 评论 -
何时要使用前向引用@class
1.import会包含这个类的所有信息,包括实体变量和方法,而@class只告诉编 译器,声明的类的名称,至于这些类是如何定义的,暂时不用考虑,后面会再告诉你,所以在头文件中如果用@class声明某个类后,在.m的实现中如果用到声明类的具体方法或变量时还得再#import类 2.在.h头文件中进行声明时用#import的话,如果100个头文件都#import同一个头件,或者这转载 2015-01-20 12:24:01 · 610 阅读 · 0 评论 -
build, debug, compile and run
Compile means to take a source code file and turn it into machine instructions, usually held in a .o or .obj file with a particular format.Link means to take the compiled files (.o/.objs) needed a转载 2015-01-20 12:03:00 · 676 阅读 · 0 评论 -
iOS arc设置
项目中以前的一个复杂的想shi的类,今天leak测试的时候,发现收到内存警告,索性直接改为arc了(arc是iOS 5推出的新功能,那些概念性的话就不多说了).发个小帖,仅供新手看~旧工程配置arc方案:1,直接在targets->build phases中修改compiler Flags,是否支持arc。添加:-fobjc-arc,就可以让旧项目支持arc。如果想转载 2013-12-23 11:31:41 · 619 阅读 · 0 评论 -
plist
在做iOS开发时,经常用到到plist文件, 那plist文件是什么呢? 它全名是:Property List,属性列表文件,它是一种用来存储串行化后的对象的文件。属性列表文件的扩展名为.plist ,因此通常被称为 plist文件。文件是xml格式的。Plist文件通常用于储存用户设置,也可以用于存储捆绑的信息我们创建一个项目来学习plist文件的读写。转载 2013-12-20 20:18:33 · 2233 阅读 · 0 评论 -
手势
UIGestureRecognizer是一个抽象类,定义了所有手势的基本行为,它有6个子类处理具体的手势:1.UITapGestureRecognizer (任意手指任意次数的点击)// 点击次数numberOfTapsRequired// 手指个数numberOfTouchesRequired [plain] v转载 2013-12-22 21:27:50 · 671 阅读 · 0 评论 -
block一点也不神秘————如何利用block进行回调
//本篇文章系转载,感谢墨半成霜的分享+写的真的很好,风格幽默,本文转自http://blog.youkuaiyun.com/mobanchengshuang/article/details/11751671我们在开发中常常会用到函数回调,你可以用通知来替代回调,但是大多数时候回调是比通知方便的,所以何乐而不为呢?如果你不知道回调使用的场景,我们来假设一下:1.我现在玩手机转载 2014-12-12 15:36:57 · 427 阅读 · 0 评论 -
ipone 截屏
- (UIImage*)screenshot { // Create a graphics context with the target size// On iOS 4 and later, use UIGraphicsBeginImageContextWithOptions to take the scale into consideration// On转载 2014-03-04 14:27:32 · 870 阅读 · 0 评论 -
ios动画
一.基本方式:使用UIView类的UIViewAnimation扩展+ (void)beginAnimations:(NSString *)animationID context:(void *)context; // 开始准备动画+ (void)commitAnimations; // 运行动画// 没有get方法,下面的set在快外调用无效+ (void)setAnimat转载 2014-03-04 11:42:17 · 759 阅读 · 0 评论 -
iOS手势
前言 在iOS中,你可以使用系统内置的手势识别(GestureRecognizer),也可以创建自己的手势.GestureRecognizer将低级别的转换为高级别的执行行为,是你绑定到view的对象,当发生手势,绑定到的view对象会响应,它确定这个动作是否对应一个特定的手势(swipe,pinch,pan,rotation).如果它能识别这个手势,那么就会向绑定它的view发送消转载 2013-12-19 16:06:46 · 804 阅读 · 0 评论 -
iOS工程适配64-bit经验分享
终究还是来了。Apple下发了支持64位的最后通牒:As we announced in October, beginning February 1, 2015 new iOS apps submitted to the App Store must include 64-bit support and be built with the iOS 8 SDK. Beginning June转载 2015-01-21 15:24:21 · 446 阅读 · 0 评论