UI
文章平均质量分 53
酷拼车
专业it男
展开
-
沙盒机制
沙盒机制 1.每一个APP安装到手机上(或者模拟器上)都会自动生成3个文件夹这三个文件夹(Documents ,Library(Caches ,Preferences), tmp) 可以理解为这个App的沙盒 2.并且 每个APP的文件夹都是相对独立的 只能自己的应用去访问 不可以互相访问 3.文件夹中 存储的是原创 2015-12-07 19:48:13 · 368 阅读 · 0 评论 -
SQLite初级操作
#import@interface LanOuStudent :NSObject//名字@property (nonatomic,retain)NSString *name;//年龄@property (nonatomic,assign)NSInteger age;//性别@property (nonatomic,retain)NSString原创 2015-12-08 20:54:36 · 538 阅读 · 0 评论 -
利用Runtime实现自动化归档
1.前言对于对象的归档,之前使用MJ老师的MJExtension框架做字典转模型的时候,直接使用宏MJCodingImplementation就能实现对象自动实现存档和解档的方法,很是好用。但是有时候会遇到不需要用到字典转模型,不想使用框架时,就需要自己手动一个一个实现,有时候属性一多了,简单却繁琐的相同代码会让人觉得有点不耐烦。刚好看到袁峥老师的文章《让你快速上手Runtime》,于是自己想转载 2016-03-07 22:05:10 · 326 阅读 · 0 评论 -
OC内存管理
OC内存管理一、基本原理(一)为什么要进行内存管理。由于移动设备的内存极其有限,所以每个APP所占的内存也是有限制的,当app所占用的内存较多时,系统就会发出内存警告,这时需要回收一些不需要再继续使用的内存空间,比如回收一些不再使用的对象和变量等。管理范围:任何继承NSObject的对象,对其他的基本数据类型无效。本质原因是因为对象和其他数据类型在系统中的存储空间不一样,其它局转载 2016-02-24 20:02:42 · 303 阅读 · 0 评论 -
进程与线程的区别
进程是什么?程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程。程序和进程的区别就在于:程序是指令的集合,它是进程运行的静态描述文本;进程是程序的一次执行活动,属于动态概念。在多道编程中,我们允许多个程序同时加载到内存中,在操作系统的调度下,可以实现并发地执行。这是这样的设计,大大提高了CPU的利用率。进程的出现让每个用户感觉到自己独享CPU转载 2016-02-24 21:36:05 · 267 阅读 · 0 评论 -
从OC到Swift
这篇文章是自己学习Swift的笔记与深化。希望这篇文章能够帮助已经有Objective-C经验的开发者更快地学习Swift。同时也品味到Swift的精妙之处。结论放在开头:我认为Swift比Objective-C更优雅,更安全同时也更现代,更性感。文章组织脉络:从Objective-C到Swift的语法差异。我们熟悉的Objective-C特性在Swift中如何展现。从转载 2016-02-25 16:02:22 · 469 阅读 · 0 评论 -
ios微信支付
在项目中,我们经常要用到微信支付,今天就来简单介绍一下微信支付环境的搭建,先看一下微信支付官方文档吧!1、首先要申请开通微信支付,获取到AppKey和AppSecret,并将微信的lib库导入,如果之前导入过shareSDK的话,就不要重复导入了,里面已经包含了wechat的库。2、下载官方demo,将下面几个类导入到工程中。图13.在appDelegate.m中,注册微信转载 2016-02-27 09:36:08 · 610 阅读 · 0 评论 -
TableView 去掉多余行数、IOS最后一行Cell系统分割线顶头
//去掉底部多余的表格线 [tableViewsetTableFooterView:[[UIView alloc] initWithFrame:CGRectZero]];//最后一行分隔线顶头显示//http://stackoverflow.com/questions/25770119/ios-8-uitableview-separator-ins原创 2016-03-25 11:32:20 · 1170 阅读 · 0 评论 -
iOS自定义UITableCell自定义分割线消失问题
iOS自定义UITableCell自定义分割线消失问题iOS自定义的UITableCell自定义的分割线,在cell复用的时候,cell的分割线会消失。这样的问题是,你把你的分割线自定义在每个cell上,当cell服用的时候,只会读取你的数据模型的数据,但是你的分割线不会重新划线,如:- (instancetype)initWithStyle:(UITableViewCellS原创 2016-03-25 11:33:18 · 2184 阅读 · 0 评论 -
AFNetWorking实现代码延迟
dispatch_async(dispatch_get_global_queue(0, 0), ^{ sleep(0); dispatch_async(dispatch_get_main_queue(), ^{ NSData* data=[html dataUsingEncoding:NS原创 2016-03-25 11:36:22 · 357 阅读 · 0 评论 -
同一ViewController内如果有两处AlertView要用代理Delegate怎么写法
使用tag值判定到底是哪一个视图.使用tag值判定到底是哪一个视图.使用tag值判定到底是哪一个视图.使用tag值判定到底是哪一个视图.使用tag值判定到底是哪一个视图.使用tag值判定到底是哪一个视图.使用tag值判定到底是哪一个视图.使用tag值判定到底是哪一个视图.使用tag值判定到底是哪一个视图. 在代理中写一个if语句,如下文,如此类推 - (void)alertVi原创 2016-03-25 16:08:18 · 299 阅读 · 0 评论 -
iOS之美:如何优化UITableView的性能
在iOS App中,UITableView应该是使用率最高的,同时也是最为复杂的视图。 几乎所有自带的应用中都能看到它的身影,可见它的重要性。在使用UITableView时,会经常遇到性能上的问题,普遍表现在滚动时比较卡,特别是table cell中包含图片的情况时。实际上只要针对性地优化一下,这种问题就不会有了。有兴趣的可以看看LazyTableImages这个官方的例子程序,虽然也要从转载 2016-05-12 16:52:36 · 465 阅读 · 0 评论 -
解决UITableViewCell被选中时UILabel的背景颜色变成透明
解决方法是:继承一个新的UILabel类,重写setBackgroundColor:方法,让这个方法不能改变Label的背景颜色.@interface PersistentBackgroundLabel : UILabel {}- (void)setPersistentBackgroundColor:(UIColor*)color;@end@implementati转载 2016-05-13 19:14:44 · 1200 阅读 · 0 评论 -
ios 事件穿透的原因和解决方法
由于任务需要 有时候界面需求要一个半透明的视图 这样,你可以看见下一个视图 ,点击的时候,有可能就直接点击到底层视图 导致底层视图做出响应,而半透明的视图纹丝不动,其实造成这种原因最主要的一个原因就是半透明视图的点击区域问题 , 可以说是半透明视图的点击区域超过了他的farme,这是造成时间穿透的真正原因,,解决事件穿透,只要你把它的点击区域扩大就行了 这样就不会出现点击穿透 h原创 2016-07-28 15:19:36 · 3940 阅读 · 0 评论 -
iOS开发富文本NSAttributedString属性
// // NSAttributedString.h // UIKit // // Copyright (c) 2011-2015 Apple Inc. All rights reserved. // #import #import转载 2016-07-28 15:31:04 · 475 阅读 · 0 评论 -
对文件进行 创建 复制 移动 删除等操作
//documents路径#define kDocumentPath [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES) lastObject]//Caches路径#define kCachePath [ NSSearchPathForDirectoriesInDomains原创 2015-12-07 20:27:42 · 757 阅读 · 0 评论 -
复杂数据的写入文件夹
复杂对象的写入文件自己创建出来的类(例如 Student类)写入的核心思想:把复杂对象转化成简单对象进行写入一般转化成 NSData对象进行写入-----------------------------------------------------------------------Student.h@interface原创 2015-12-07 20:53:46 · 333 阅读 · 0 评论 -
封装一个 图片异步下载类
这个方法就是根据网络下载get 异步方法来实现的get异步代理方法1.创建一个网址对象 对象是根据字符串来创立的NSURL *url = [NSURL URLWithString:str];2.根据网址对象 创建一个可变请求NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url c原创 2015-12-05 21:11:34 · 389 阅读 · 0 评论 -
UISegmentedControl
初始化初始化的数组中 必须是 字符串 或者 图片 如果选用图片初始化 必须使用镂空图NSArray *itemArray = @[@"第一段",@"第二段",@"第三段"];分段按钮UISegmentedControl *segment = [[UISegmentedControl alloc]initWithItems:itemArray];设置位置segment.frame = CGRectM原创 2015-11-17 21:53:28 · 310 阅读 · 0 评论 -
UISlider
初始化UISlider *slider = [[UISlider alloc]initWithFrame:CGRectMake(20, 100, 300, 10)]设置背景颜色slider.backgroundColor = [UIColor cyanColor];设置轨迹颜色//最大值到滑块的轨迹的颜色[slider setMaximumTrackTintColor:[UIColor green原创 2015-11-17 23:26:53 · 382 阅读 · 0 评论 -
实现button按钮上的倒计时
创建一个buttonUIButton *button = [UIButton buttonWithType:(UIButtonTypeCustom)];设置位置button.frame = CGRectMake(100, 100, 100, 100);设置一个标签 为了后面便于获取buttonbutton.tag = 1000;设置背景颜色button.backgroundColor = [UI原创 2015-11-17 23:36:47 · 1100 阅读 · 0 评论 -
自定义label高度
创建一个labelUILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(50, 100, 300, 100)];label.numberOfLines = 0;label.font = [UIFont systemFontOfSize:16];label.backgroundColor = [UIColor grayCo原创 2015-12-12 11:13:46 · 588 阅读 · 0 评论 -
UICollectionView 瀑布流 初级
UICollectionView 和UITableView都是UIScrollView的子类 ,UIScrollView类中的方法都可以使用 而且 UICollectionView在学习中与 UITableView 有好多相似之处 可以参考UITableView学习//和UITableViewController一样有两个协议@interfaceRoot原创 2015-12-12 11:35:49 · 384 阅读 · 0 评论 -
UICollectionView 瀑布流 自定义cell 与表头表尾 自适应高度
//自定义cell//自定义表头和表尾//根据原图片自定义cell的高度#import "RootViewController.h"#import"GirlCollectionViewCell.h"#import"HeaderCollectionReusableView.h"#import "FooterCollectionReusableView.h"原创 2015-12-12 11:55:17 · 4053 阅读 · 0 评论 -
Block 传值
返回值是int类型 求两个数的和的blockint (^block)(int, int) = ^int (int a, int b){ return a + b; }; NSLog(@"%d",block(3,5));给block起别名typedef int(^WLBlock)(int a, int b);用别名申明一个原创 2015-12-12 14:20:02 · 280 阅读 · 0 评论 -
XML解析
SAX : simple API for XML解析xml数据- (void)xmlParserUpData{// 利用的是系统的NSXMLParser// xml分析类// 以驱动事件进行xml的解析(利用触发得的代理方法解析)// 特点: 逐行解析// 获取路径 NSString *path = [[NSBundle mainBundle]原创 2015-12-12 16:41:56 · 351 阅读 · 0 评论 -
JSON解析
JSON数据结构解析 // 路径 NSString *path = [[NSBundle mainBundle] pathForResource:@"area" ofType:@"json"]; // 获取数据 NSData *data = [NSData dataWithContentsOfFile:path]; // 用容器原创 2015-12-12 16:45:25 · 312 阅读 · 0 评论 -
导航控制器UINavigationController
初始化 导航控制器初始化时 需要一个根视图控制器 去管理 (去显示)RootViewController *rootVC = [[RootViewController alloc]init];UINavigationController *navC = [[UINavigationController alloc]initWithRootViewController:rootVC];只要是UI原创 2015-11-20 09:02:19 · 254 阅读 · 0 评论 -
表视图1 (UITabelView)
初始化这里的UITableViewStyle有两种格式 一种是UITableViewStylePlain 还有一种是分组格式 UITableViewStyleGroupedUITableView *tableView = [[UITableView alloc]initWithFrame:[UIScreen mainScreen].bounds style:(UITableViewStyleP原创 2015-11-20 22:18:38 · 275 阅读 · 0 评论 -
iOS Get同步与异步
//异步所需要签订的协议@interfaceGetViewController ()NSURLConnectionDelegate,NSURLConnectionDataDelegate>//声明一个链接属性,主要用是在页面销毁但加载还没完成的时候,在dealloc上终止用的@property (nonatomic,retain)NSURLConnection原创 2015-12-03 19:54:44 · 454 阅读 · 0 评论 -
Post同步异步
//以下使用post网址与数据分隔开#define kNewsListURL @"http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx"#define kNewsListParam @"date=20131129&startRecord=1&len=30&udid=12345678原创 2015-12-03 20:14:03 · 525 阅读 · 0 评论 -
iOS 第三方框架 - CocoaPods的安装、使用、原理
介绍 CocoaPods每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如Java语言的Maven,nodejs的npm。随着iOS开发者的增多,业界也出现了为iOS程序提供依赖管理的工具,它的名字叫做:CocoaPods。CocoaPods项目的源码在Github上管理。Cocoapods意义体现在两个方面:引入第三方库无可避免地要进行各种各样的配置。对于Objec转载 2016-07-28 15:41:45 · 392 阅读 · 0 评论