
ios开发技术
文章平均质量分 70
迎风飘扬的菜鸟
这个作者很懒,什么都没留下…
展开
-
UICollectionView解决item之间的间隙问题
UICollectionView解决item之间的间隙问题在项目中需要使用网格组件来显示列表信息,因此封装了一个iOS的网格组件GridView,demo地址: GitHub在实现过程中发现一个问题,在iPhone8中,UICollectionView 展示的item之间总有间隙,即使设置了item等宽,也设置了UICollectionViewFlowLayout 的 minimumInt...原创 2018-05-18 14:21:27 · 12232 阅读 · 3 评论 -
iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
1、UIGestureRecognizer介绍手势识别在iOS上非常重要,手势操作移动设备的重要特征,极大的增加了移动设备使用便捷性。iOS系统在3.2以后,为方便开发这使用一些常用的手势,提供了UIGestureRecognizer类。手势识别UIGestureRecognizer类是个抽象类,下面的子类是具体的手势,开发这可以直接使用这些手势识别。UITapGestur转载 2013-12-25 12:07:52 · 987 阅读 · 0 评论 -
IOS中获取各种文件的目录路径的方法
iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么.documents,tmp,app,Library。(NSHomeDirectory()),手动保存的文件在documents文件里Nsuserdefaults保存的文件在tmp文件夹里1、Documents 目录:您应该将所有de应用转载 2013-12-20 17:01:23 · 1130 阅读 · 0 评论 -
IOS多线程编程之Grand Central Dispatch(GCD)介绍和使用
Grand Central Dispatch 简称(GCD)是苹果公司开发的技术,以优化的应用程序支持多核心处理器和其他的对称多处理系统的系统。这建立在任务并行执行的线程池模式的基础上的。它首次发布在Mac OS X 10.6 ,iOS 4及以上也可用。设计:GCD的工作原理是:让程序平行排队的特定任务,根据可用的处理资源,安排他们在任何可用的处理器核心上执行任务。一个任务可以是一个函转载 2014-01-02 15:48:27 · 833 阅读 · 0 评论 -
兼容 iOS retina 高清屏
1、 首先明确:iPhone 3G/3GS 屏幕像素分辨率是 320×480 ;iPhone4、iPod Touch4 屏幕像素分辨率 640×960。2、为了兼容 iOS 4.0 之前的程序也能在 iOS 4 上运行,苹果设计了一个逻辑分辨率单位point ,在 iPhone3 上 1个 Point 相当于 1个pixel ; 而 iPhone4 上1个 point 就相转载 2013-12-31 16:33:04 · 1511 阅读 · 0 评论 -
iOS中添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效
今天以前的同事在开发过程中遇到了一个问题,大致描述如下:他用TableView写了一个登陆界面,帐号和密码两个Cell中加入了TextField。由于想在TableView的空白处点击时收起键盘,所以他注册了一个UITapGestureRecognizer来识别手势。ViewDidLoad中注册手势的部分代码如下:[cpp] view pla转载 2013-12-30 10:19:26 · 3419 阅读 · 0 评论 -
ios开发-固定横/竖屏
在ios开发过程中,有的应用需要固定横/竖屏,即只能显示横屏或者竖屏。比如我现在正在做的学院网站客户端,就需要固定竖屏。下面介绍下固定横/竖屏的方法。1.固定竖屏这个比较简单。因为程序中视图的大小默认是对应竖屏的,所以只要把支持选项只选竖屏就好了。步骤如下:1.打开 Supporting Files 文件夹下的------- -inf转载 2013-12-29 16:13:39 · 1545 阅读 · 0 评论 -
iOS横竖屏解决方案
ios横竖屏的效果是不相同的,所以我们在开发中如果允许屏幕横竖屏间的切换,那么我们就要调整视图的布局。利用Interface Builder开发,我们可以快速的拖拽出合适的界面布局,但是屏幕自动切换布局不能很好的适配,下图是,没有做任何调整的状态下,实现的横竖屏切换,可以看到界面不是很美观。目前我所知的实现ios横竖屏切换的解决方案共有三种:1.利用Interface Bu转载 2013-12-29 16:11:58 · 1217 阅读 · 0 评论 -
iOS Notification 的使用
什么是Notification?这个要求其实也很容易实现. 每个运行中的application都有一个NSNotificationCenter的成员变量,它的功能就类似公共栏. 对象注册关注某个确定的notification(如果有人捡到一只小狗,就去告诉我). 我们把这些注册对象叫做 observer. 其它的一些对象会给center发送notifications(我捡到了一只小狗). cent转载 2013-12-14 12:27:55 · 1507 阅读 · 0 评论 -
iOS 设置背景图片
方法一,使用一个UIImageView实例做子视图,并且放最后面Objective-c代码 - (void)setBackgroundImage { NSLog(@"setting bg image"); UIImageView *customBackground = [[UIImageView alloc] ini转载 2013-12-07 10:05:06 · 1440 阅读 · 0 评论 -
ios Socket使用大全
讲得太好了! Socket使用大全第一部分、概念的理解1、什么是Socket?Socket又称之为“套接字”,是系统提供的用于网络通信的方法。它的实质并不是一种协议,没有规定计算机应当怎么样传递消息,只是给程序员提供了一个发送消息的接口,程序员使用这个接口提供的方法,发送与接收消息。Socket描述了一个IP、端口对。它简化了程序员的操作,知道对方的IP以及PORT就可以给转载 2013-11-20 15:21:45 · 1957 阅读 · 0 评论 -
IOS6屏幕旋转详解(自动旋转、手动旋转、兼容IOS6之前系统) .
转自:http://blog.youkuaiyun.com/cococoolwhj/article/details/8208991概述:在iOS6之前的版本中,通常使用 shouldAutorotateToInterfaceOrientation 来单独控制某个UIViewController的方向,需要哪个viewController支持旋转,只需要重写shouldAutorotateToI转载 2013-11-15 18:14:59 · 1126 阅读 · 0 评论 -
ios Automatic Reference Count(ARC)与非ARC学习
iOS引入了Automatic Reference Count(ARC),编译器可以在编译时对obj-c对象进行内存管理。之前,obj-c的内存管理方式称作引用计数,就是obj-c对象每被”使用”一次,引用计数+1,当引用计数为0时,系统会回收内存.用程序语言表达,就是allco的要release,retain/copy的要release.还有某些容器add的,也要release等等.现如转载 2013-11-15 17:35:33 · 1219 阅读 · 0 评论 -
performSelector详解
在项目中,常常用到performSelectorXXX之类的方法,而且有很多类似方法;今天就来召集一下!1.performSelectorOnMainThread:withObject:waitUntilDone:- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone转载 2013-11-15 16:39:01 · 6627 阅读 · 0 评论 -
ios开发技术——播放系统wav格式的音乐
-(void)startWinPlayer{ //定义URl,要播放的音乐文件是win.wav NSURL *audioPath = [[NSURLalloc] initFileURLWithPath:[[NSBundlemainBundle] pathForResource:@"win"ofType:@"wav"]]; //定义Syste原创 2013-08-22 19:31:03 · 5652 阅读 · 0 评论 -
iOS开发基础--Xcode以及其他的一些系统快捷键
作为一名程序员,能够使用快捷键而不依赖于鼠标,能大大加快我们开发的速度,同时也可以提高我们工作的效率,下面我将罗列一些常用的快捷键,大家可以参考参考:Xcode中:command+shift+N:新建一个项目(project)command+N:新建一个文件(.h,plist文件等等)cammand+option+N:新建一个组文件夹(group)转载 2013-10-16 18:55:36 · 1492 阅读 · 0 评论 -
UITableView 删除ROW 程序崩溃
UITableView 删除ROW 调用方法:[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:indexPath.row inSection:0]] withRowAnimation:UITableViewRowAnimationNone];但是会引起.'转载 2013-12-26 20:36:13 · 3814 阅读 · 0 评论 -
Swift3.0编译动态Framework
Swift3.0编译动态Framework本文将记录swift3.0编译动态Framework,并导入OC的工程来使用的过程,主要内容如下:编译swift framework在OC主工程调用 swift framework小提示一、编译swift framework1、如上图创建 framework target ,比如target命名为 TargetABC,xcode会默认创建头文件 Ta原创 2017-02-17 16:06:12 · 2497 阅读 · 0 评论 -
汉字字符串排序,如人名排序
在写通讯录时经常需要对人名进行 A->Z的排序,在网上已有好多demo,有朋友说使用 NSString的 localizedCompare 方法可以实现字符串比较,在通过数组的sortedArrayUsingComparator方法排序即可,小菜也做了尝试,结果未能如预期所想。下面来讲讲小菜的做法吧: 1.准备获取汉字首字母的开源库,NSString + pinyin ,在 github 上有大把原创 2015-08-19 16:11:47 · 1784 阅读 · 0 评论 -
完美解决iOS的WebView自适应内容高度问题
/////////////////////////////初始化,self.view是父控件///////////////////////////////// _webView = [[UIWebView alloc] initWithFrame: CGRectMake(0,0, self.view.frame.size.width, 0)]; _webView.del转载 2015-05-07 19:06:17 · 13531 阅读 · 0 评论 -
UITalbeView左滑动删除cell
UITalbeView系列-滑动显示“删除”腾讯的QQ和微信中都有这样的操作,对一个UITableView中的cell,向左滑动的时候,会在对应的cell右侧(iOS7.0样式发生了一点变化)出现一个“删除”按钮要达到这样的效果,完全用系统的就可以,不需要自定义一个Button,加到cell后面,同时给cell加手势捕获这个操作。注意:如果在cell加一个手势(测试中我用的原创 2014-01-14 17:58:14 · 8407 阅读 · 0 评论 -
IOS 开发,调用系统打电话,发短信,打开网址
原文出处:http://www.cnblogs.com/zcw-ios/articles/2607985.html1、调用 自带mail[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://admin@hzlzh.com"]]; 2、调用 电话phone转载 2014-08-05 14:17:29 · 830 阅读 · 0 评论 -
OC -- block的用法
本文来自台湾的某开发人员的博客,被墙,感觉讲的比较易懂,所以引过来。文字简体化了,原来是繁体,变数=变量,这个注意一下。本文的顺序是层层深入的,要想简单的了解,只看X.1 初探Block就好了本章学习目标:1. 了解何谓block。2. 了解block的使用方法。Block 是iOS在4.0之后新增的程式语法,严格来说block的概念并不算是基础程式设计的范围,对初转载 2014-06-06 15:07:35 · 1196 阅读 · 0 评论 -
xcode5打包不生成ipa文件而生成文件夹 及 app文件转成ipa
用iTunes, 菜单文件->添加到资料库,选中编译好的APPiTunes会自动把app文件转换成ipa文件添加好后,右键点击你的应用,选择 在Finder中显示(或 在资源库中显示), 这样就会找到 ipa文件原文地址:http://blog.youkuaiyun.com/wswqiang/article/details/7318924原创 2014-03-26 16:09:31 · 2189 阅读 · 0 评论 -
osg3d模型在iOS中显示
由于项目需要osg展示3d模型,小子我可算煞费苦心才找到这个方法,这份提问邮件是一个开发者在提交问题代码时贴出了代码,才解决了小子我的一大问题,不胜感激,鉴于osg的材料比较少,在这里贴出代码,希望对搞osg的小伙伴们能有所帮助!问题地址:http://forum.openscenegraph.org/viewtopic.php?t=12566//.h文件里定义的//导入的原创 2014-03-21 18:22:06 · 3141 阅读 · 1 评论 -
uiscrollerview 和 uitableview 滚动到底部
UITableView is a subclass of UIScrollView, and UITableViewDelegate conforms to UIScrollViewDelegate. So the delegate you attach to the table view will get events such asscrollViewDidScroll:, and you c转载 2014-03-31 23:37:35 · 2151 阅读 · 0 评论 -
IOS检测网络连接状态
使用之前请从Apple网站下载示例:点此下载然后将Reachability.h 和 Reachability.m 加到自己的项目中,并引用 SystemConfiguration.framework,就可以使用了。Reachability 中定义了3种网络状态:// the network state of the device for Reachability 1.5.ty转载 2014-03-28 15:45:23 · 846 阅读 · 0 评论 -
UITextView显示html代码,并调整attributedText的字体大小
NSString *str = [NSStringstringWithFormat:@"%@\n开展时间:%@至 %@\n展会地点:%@\n承办单位:%@\n详细地址:%@\n邮政编码:%@\n联系人:%@\n联系电话:%@\n传真号码:%@\n电子邮件:%@\n展会网站:%@\n",name,startTime,endTime,adr,linkCompany,linkAdr,linkPo原创 2014-03-12 18:51:33 · 8196 阅读 · 0 评论 -
iOS7 uilabel 自动换行,文字自适应
第一种方法:直接设置label的属性: label.lineBreakMode = NSLineBreakByWordWrapping;这种方法适用于文字比较少,而label的大小比较大到可以容纳所有文字第二种方法:文字比较多,需要动态根据文字来调整label的大小以显示所有文字 //初始化label UILabel *la原创 2013-10-08 20:28:10 · 14771 阅读 · 2 评论 -
NSCache使用介绍
NSCache原文地址:http://www.cnblogs.com/riskyer/p/3339533.html在ios中,苹果提供了,NSCache类和NSDictionary很相似,提供key,value的存储,不一样的是NSCache在内存吃紧的时候会做自动释放。遇到一个问题是,在使用大量图片的app中,需要从存储里面读取数据,每次都从文件系统里面读取文件会造成转载 2014-02-15 16:40:56 · 2365 阅读 · 0 评论 -
xcode5编译失败,提示找不到文件,uitableviewcell 的imageview加了单击手势能生效
xcode5编译失败,提示找不到文件,但工程里确实有文件了,查看工程,target ->build phases->compile source , 把红色的文件删除(选中,点减号)即可uitableviewcell 的imageview加了单击手势,一般会被didSelectRowAtIndexPath方法给截获,单击没有生效,只要改以下属性即可 //user原创 2014-01-15 14:20:06 · 1247 阅读 · 0 评论 -
mac终端命令大全介绍
mac终端命令大全介绍2010-06-12 13:04:59OSX 的文件系统 OSX 采用的Unix文件系统,所有文件都挂在跟目录 / 下面,所以不在要有Windows 下的盘符概念。 你在桌面上看到的硬盘都挂在 /Volumes 下。 比如接上个叫做 USBHD的移动硬盘,桌面上会显示出一个硬盘图标,它实际在哪里呢? 在终端里执行 ls /Volum转载 2013-09-28 10:50:46 · 1406 阅读 · 0 评论 -
批量导入图片和视频到模拟器的相册
IOS开发中我们经常会用到模拟器调试,模拟器有个主要的好处就是程序启动块,最重要的是如果没有证书的话,我们就只能在模拟器上调试了。使用模拟器调试时我们可能碰到需要从系统相册选择图片的情况,特别是做图片处理类相关的程序时,更是经常用到。 初始化情况下模拟器中的相册中是空的,所以要想选择,我们就得先导入一些图片。通常的做法是将图片直接拖拽到模拟器上,然后模拟器就会用safari打开,这个时候转载 2013-09-28 08:49:30 · 1242 阅读 · 0 评论 -
iOS UIImagePickerController从相册获取图片
在.h文件中实现以下代理UIImagePickerControllerDelegate,UINavigationControllerDelegate//从相册获取图片-(void)takePictureClick:(UIButton *)sender{ /*注:使用,需要实现以下协议:UIImagePickerControllerDel原创 2013-09-28 17:12:16 · 7071 阅读 · 0 评论 -
ios 同步和异步下载图片
//同步下载-(NSData *)synchronousDownLoadFromUrl:(NSString *)url{ NSURL *netUrl = [[NSURLalloc]initWithString:url]; NSURLRequest *request = [[NSURLRequestalloc]initWithURL:netUrl];原创 2013-09-17 20:57:48 · 4568 阅读 · 0 评论 -
UITableView 列表显示信息
需要在.h文件中添加协议:UITableViewDataSource,UITableViewDelegate如:@interface MainViewController :UIViewController UITableViewDataSource,UITableViewDelegate>1、声明实例变量@property (nonatomic,strong)原创 2013-09-18 13:09:49 · 1166 阅读 · 0 评论 -
iOS UIScrollView 和 UIPageControl的简单使用
1、在.h文件中声明UIScrollView,UIPageControl实例变量,如果不想变量被外部访问,可以在类别里声明;@property (nonatomic,strong)UIScrollView *m_sc;@property (nonatomic,strong)UIPageControl *m_pageC;2、在.m文件中初始化变量m_sc和原创 2013-09-17 11:54:57 · 4231 阅读 · 0 评论 -
IOS atomic与nonatomic,assign,copy与retain的定义和区别
atomic和nonatomic用来决定编译器生成的getter和setter是否为原子操作。 atomic 设置成员变量的@property属性时,默认为atomic,提供多线程安全。 在多线程环境下,原子操作是必要的,否则有可能引起错误的结果。加了atomic,setter函数会变成下转载 2013-09-17 08:35:08 · 597 阅读 · 0 评论 -
UITextView的用法及技巧
摘要: textView的创建;设置属性;代理方法;隐藏键盘;键盘弹出时调整textView的位置,像手机短信的效果一、新建一个textView01//初始化02UITextView *textView = [[[UITextView alloc] init] autorelease转载 2013-09-30 17:23:20 · 1125 阅读 · 0 评论 -
iOS中UITextField 使用全面解析
//初始化textfield并设置位置及大小UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)]; //设置边框样式,只有设置了才会显示边框样式 text.borderStyle = UITextBorderStyleRoundedRect;转载 2013-09-30 16:15:16 · 847 阅读 · 0 评论