【iOS开发记录】
妙亦涵
iOS开发程序员
展开
-
什么是EXC_BAD_ACCESS以及如何调试
某些时候,你可能会遇到由EXC_BAD_ACCESS引起的崩溃。在这片文章中,你将学会什么是EXC_BAD_ACCESS,以及它是由什么引起的。我也将提出一些解决由EXC_BAD_ACCESS引起的bug的技巧。什么是EXC_BAD_ACCESS?一旦你理解了EXC_BAD_ACCESS的根本原因,你会更好地理解它这个含义模糊的名称。这里有一个简单的解释和一个更加专业的解释。让我们首先以这个简单的解原创 2015-11-01 20:26:55 · 20609 阅读 · 0 评论 -
iOS将文字添加到图片上的方法
#pragma mark - 将文字添加到图片的方法实现-(UIImage *) addText:(NSString *)someText toImage:(UIImage *)img{ int w = img.size.width; int h = img.size.height; CGColorSpaceRef colorSpace =CGColorSpa原创 2014-02-27 14:09:06 · 2854 阅读 · 0 评论 -
UITableView局部刷新
//局部section刷新 NSIndexSet *indexSet=[[NSIndexSet alloc] initWithIndex:1];//刷新第二个section [tview reloadSections:indexSet withRowAnimation:UITableViewRowAnimationAutomatic]; //局部cell刷新原创 2014-02-17 10:56:21 · 1031 阅读 · 0 评论 -
iOS判断程序第一次启动的方法
在didFinishLaunchingWithOptions方法中加入如下代码:if(![[NSUserDefaults standardUserDefaults] boolForKey:@"firstStart"]){ [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"firstStar原创 2014-02-27 13:55:16 · 922 阅读 · 0 评论 -
iOS 代码实现圆角按钮
代码: [[button layer] setCornerRadius:8.0f];[[button layer] setMasksToBounds:YES];[[button layer] setBorderWidth:1.0f];上述代码将layer的圆角半径设为8.0-setMasksToBounds:方法告诉layer位于它之下的laye转载 2014-02-27 13:30:05 · 992 阅读 · 0 评论 -
根据IndexPath找到对应达Cell
//创建第0区第1行的indexPathNSUInteger newIndex[] = {0, 1};NSIndexPath *newPath = [[NSIndexPath alloc] initWithIndexes:newIndex length:2];//找到对应的cellUITableViewCell *nextCell = [self.tableView cellF原创 2014-02-27 13:53:11 · 3998 阅读 · 0 评论 -
iOS 中如何添加应用自己的字体
(转自http://blog.csdn.net/justinjing0612/article/details/8093985)想用下漂亮的字体,就稍微用研究了一下这个用法,很简单,就三步吧1.第一步找到你想用的字体的 ttf 格式。加入到你的工程的resouce目录下。2.在工程的plist中AddRow,“Fonts provided by applica转载 2014-02-27 13:36:57 · 820 阅读 · 0 评论 -
ViewController 视图切换效果
当使用presentViewController 和dismissViewController时,可以这样来设置视图切换效果self.要切换到的ViewController.modalTransitionStyle =UIModalTransitionStyleCrossDissolve;有四种风格原创 2014-02-27 14:39:02 · 708 阅读 · 0 评论 -
IOS开发里面使用RGB颜色
原文地址:http://blog.csdn.net/isammys/article/details/6651449UIColor本身自带了一些颜色如whiteColor,redColor等。但是要使用某种颜色的时候应该如何使用?现在我们有颜色:#8bb226写CSS直接用就好了,但是在IOS里面,如果要用到16进制颜色时,恐怕要取出RGB值才能用转载 2014-03-10 10:22:41 · 1298 阅读 · 0 评论 -
iOS8 无法自动定位城市
这两个新增的方法导致,之前写的程序在iOS8运行会出现,定位功能无法正常使用这样让iOS8正常使用定位功能呢?你需要在info.plist表里面添加两条变量在Info.plist中加入两个缺省没有的字段NSLocationAlwaysUsageDescriptionNSLocationWhenInUseUsageDescription原创 2014-10-15 16:52:02 · 1165 阅读 · 0 评论 -
运行iPhone6模拟器出现错误Unable to run app in Simulator
重启模拟器就好了。原创 2014-10-11 15:45:03 · 1626 阅读 · 0 评论 -
iOS8 SDWebImage _executing = NO; _finished = NO; 出错
添加:@synthesize finished = _finished;@synthesize executing = _executing;原创 2014-10-09 14:08:32 · 1361 阅读 · 0 评论 -
UITableViewCell 嵌套 UIWebView,cell自适应高度
现在做的项目里,遇到了这样的情况:原创 2014-02-20 13:03:56 · 5625 阅读 · 4 评论 -
iOS—复制字符串到剪切板
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];pasteboard.string = self.label.text;原创 2015-07-01 11:06:00 · 1397 阅读 · 0 评论 -
Bundle version VS Bundle versions string
今天上传新版本,在修改Bundle version和Bundle versions string的时候突然想到:一直以来都没有深究过这两个字段的真正含义,只是保持它们一样。那么它们真正的用途到底是什么呢?今天来探究一下。区别Bundle Version (CFBundleVersion)Bundle Version是应用程序的内部版本号。Bundle Version不需要是一个纯粹的版本号,它原创 2015-10-29 09:37:55 · 1055 阅读 · 0 评论 -
HScrollViewWithTitleAndSlide
功能说明模仿LOFTER发现界面的页面切换效果标题可以随着内容的滚动而滚动下拉展示所有标题以供点选下拉按钮的图片和勾选的图片可以自定义,每页最多显示的标题的个数可以自定义。封装的比较完整,使用起来很简单,几句代码搞定。使用Xcode7.0.1 Objective-CGitHub地址:https://github.com/SharonHu1990/HScrollViewWithTitl原创 2015-10-28 20:41:58 · 537 阅读 · 0 评论 -
浅析UITableViewCell重用机制
UITableView在iOS开发中用的非常的多,由于Cell中一般都会有Image等占用内存的资源,容易引起Memory Warning,所以iOS引入了重用机制。那么今天就对UITableView的重用机制分析一下。原创 2015-10-28 20:47:50 · 511 阅读 · 0 评论 -
iOS开发——实现TODO宏定义
// 转成字符串#define STRINGIFY(S) #S// 需要解两次才解开的宏#define DEFER_STRINGIFY(S) STRINGIFY(S)#define PRAGMA_MESSAGE(MSG) _Pragma(STRINGIFY(message(MSG)))// 为warning增加更多信息#define FORMATTED_MESSAGE(MSG) "原创 2015-09-07 15:08:05 · 1739 阅读 · 0 评论 -
iOS8新功能——Self Sizing Cells和Dynamic Type
Self Sizing Cells在iOS 8中,苹果引入了UITableView的一项新功能--Self Sizing Cells,对于不少开发者来说这是新SDK中一项非常有用的新功能。在iOS 8之前,如果想在表视图中展示可变高度的动态内容时,你需要手动计算行高,而Self Sizing Cells为展示动态内容提供了一个解决方案。以下是你使用Self Sizing Cells时需要注原创 2015-09-09 16:49:44 · 933 阅读 · 0 评论 -
iOS开发——Block循环引用问题的解决
下面的代码存在循环引用问题:@property(nonatomic, readwrite, copy) CompletionBlock completionBlock;//……self.completionBlock = ^ { if (self.success) { self.success(self.responseData);原创 2015-09-07 17:07:58 · 868 阅读 · 0 评论 -
iOS开发-我的iOS工程结构
写在前面从2013年12月实习就算是踏上了iOS开发的不归路,到现在为止还剩三个月就两年了。从一开始只知道堆代码,到现在开始重视优化业务流程,这之间一直在摸索学习,积累了一些经验,也从前辈那里学到了不少东西。有大神说”iOS开发是一个创造活动,不是一个科研过程,一切以产品为导向。摒弃研究思维,转向系统思维和创造思维。你就算把iOS 所有的API烂熟于心,但却不懂如何设计和创造一个产品,也无济于原创 2015-08-27 13:09:54 · 800 阅读 · 2 评论 -
Autolayout下设置多个View等比例排列
在实际开发过程中,经常会遇到将多个按钮等比例排列之类的界面,下面的方法是在IB中使用autolayout特性实现这种界面。1.首先拖进去一个View作为容器,根据实际情况设置好这个view的约束:2.拖入最左边的View,并设置其与容器View的上下左右的间距均为0:3.修改最左边View的约束的Multiplier参数,需要排列多少个View,原创 2015-08-12 15:02:16 · 3096 阅读 · 1 评论 -
iOS—TableView的分割线从边框顶端开始
设置tableview,代码: if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) { [self.tableView setLayoutMargins:UIEdgeInsetsZero]; }设置cell,代码:if ([cell respondsToSele原创 2015-07-08 11:25:47 · 594 阅读 · 0 评论 -
iOS8—LanuchImage的设置方法
方法一:与之前iPhone5的方法类似,再为iPhone6和iPhone6 Plus添加两张特殊的图片。下面是具体需要的一些图片的命名方式。iPhone3G/iPhone3GS Default (分辨率:320*480) iphone4/iPhone4s: Default@2x (分辨率:640*960) iPho原创 2015-07-06 09:53:49 · 2141 阅读 · 0 评论 -
iOS—怎样让UITableView的表头随着tableView一起滚动?这样解决
//去掉UItableview headerview黏性 - (void)scrollViewDidScroll:(UIScrollView *)scrollView { if (scrollView == self.myTableView) { CGFloat sectionHeaderHeight = YOUR_HEIGHT;原创 2014-10-09 16:48:37 · 7291 阅读 · 0 评论 -
获取设备型号,app版本,提交时间,网络类型等信息
#pragma mark 获取服务器端记录的数据-(void)getAppInfo{ content = _opinionTV.text; infoSource = InfoSource;//信息来源 tel = _phoneTV.text; qq = _qqTV.text; mail = _原创 2014-10-09 15:59:17 · 935 阅读 · 0 评论 -
正则匹配电话、QQ、邮箱
/*匹配电话号码*/-(BOOL)matchPhone:(NSString *)str{ if ([str isEqualToString:@"联系电话"]) { return YES; }else { //座机 NSString *phoneRegex1 = @"\\d{3}-\\d{8}|\\d{4原创 2014-10-09 15:55:37 · 1479 阅读 · 0 评论 -
UIScrollView属性及代理方法总结
属性属性作用 CGSize contentOffSet监控目前滚动的位置CGPoint contentSize滚动达范围UIEdgeIsets contentInset视图在scrollview 中的位置id delegate原创 2014-02-10 23:52:44 · 1640 阅读 · 0 评论 -
iOS 合并.a文件,制作通用静态库
lipo -create SQY/iOS/iphoneos/libGamePlusAPI.a SQY/iOS/iphonesimulator/libGamePlusAPI.a -output SQY/iOS/libGamePus.a其中SQY/iOS/iphoneos/libGamePlusAPI.a //为真机库。 SQY/iOS/iphonesimulator/libGa转载 2013-12-30 11:19:40 · 944 阅读 · 0 评论 -
OC NSString与C string 的相互转换
OC to Cconst char *cString = [@"OC string" UTF8String];cNSString *objectString = [NSString stringWithUTF8String:"C String"]; NSLog(@"objectString = %@", objectString);原创 2014-02-16 22:17:07 · 5293 阅读 · 0 评论 -
UILabel基本用法总结
//设置标签文本对齐方式 label.textAlignment = NSTextAlignmentLeft;1.设置 标签文本 和 属性文本 //设置标签显示文本 NSString *text = @"Hello World 阿啊阿啊阿啊阿啊阿啊阿啊阿啊阿啊阿啊阿啊阿啊阿啊阿啊阿啊阿啊阿啊阿啊阿啊阿啊阿啊阿啊阿啊阿啊!"; NSMutable原创 2014-02-14 14:59:16 · 2298 阅读 · 0 评论 -
Xcode 升级后,常常遇到的遇到的警告、错误,解决方法
从sdk3.2.5升级到sdk 7.1中间废弃了很多的方法,还有一些逻辑关系更加严谨了。1,警告:“xoxoxoxo” is deprecated解决办法:查看xoxoxoxo的这个方法的文档,替换掉这个方法即可。2,警告:Declaration of "struct sockaddr" will not be visible outside of this functi转载 2014-02-27 14:23:57 · 1809 阅读 · 0 评论 -
Xcode5.0使用iOS6.1SDK及模拟器
1.打开xcode5.0的目录:Finder中点击“应用程序”,找到xcode,右击选择“显示包内容”,进入“Contents—Developer—Platforms—iPhoneOS.platform—Developer—SDKs”2.加载xcode4.6的安装包,同样“显示包内容”,定位到与上方(1)相同目录,将其中的“iPhoneOS6.1.sdk”,复制到xcode5.0的上方目录中原创 2014-02-27 13:32:48 · 855 阅读 · 0 评论 -
Quicklook 以及 QLPreveiwController
Quicklook 支持的文件:iWork文档微软Office97以上版本的文档RTF文档PDF文件图片文件文本文件和CSV文件首先需要加入framework:然后加入头文件:[cpp] view plaincopyprint?#import转载 2014-02-27 14:12:55 · 1020 阅读 · 0 评论 -
关于Build Active Architecture Only属性
这个属性设置为yes,是为了debug的时候编译速度更快,它只编译当前的architecture版本。而设置为no时,会编译所有的版本。这个是设备对应的architecture:armv6:iPhone 2G/3G,iPod 1G/2Garmv7:iPhone 3GS/4/4s,iPod 3G/4G,iPad 1G/2G/3Garmv7s:iPhone5, iPod转载 2014-02-27 14:06:37 · 555 阅读 · 0 评论 -
iOS7 UILabel 内容自适应
//iOS7 放弃使用“ CGSize actualsize = [tstring sizeWithFont:font constrainedToSize:size lineBreakMode:NSLineBreakByCharWrapping]; ” 使文本自适应。 //基本设置 UILabel *label = [[UILabel alloc] initWithFra原创 2014-03-04 15:00:05 · 1555 阅读 · 0 评论 -
理解Base SDK 和 Deployment Target
Base SDK : 指的是当前编译用的SDK版本。iPhone OS Deployment Target : 指的是编译出的程序将在哪个系统版本上运行。Base SDK设置为当前xcode所支持的最高的sdk版本,iPhone OS Deployment Target设置为你所支持的最低的iPhone OS版本。之后,你的应用就可以运行于这两个iOS版本之间的设备上。原创 2014-03-10 13:49:31 · 1278 阅读 · 0 评论 -
iOS 判断屏幕尺寸、分辨率
根据屏幕尺寸和分辨率,ios现在数起来有6个版本。iOS 设备现有的分辨率如下:iPhone/iPod Touch普通屏 320像素 x 480像素 iPhone 1、3G、3GS,iPod Touch 1、2、33:2 Retina 屏 640像素 x 960像素 iPhon转载 2014-07-08 10:18:44 · 933 阅读 · 0 评论 -
判断4英寸屏幕
#define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)原创 2014-03-25 16:00:15 · 856 阅读 · 0 评论 -
UICollectionView 的使用
1) 必须使用下面的方法进行Cell类的注册: // - (void)registerClass:forCellWithReuseIdentifier: // - (void)registerClass:forSupplementaryViewOfKind:withReuseIdentifier: // - (void)register原创 2014-03-20 17:51:14 · 1064 阅读 · 0 评论