![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS
zouzhezouzhejiudanle
这个作者很懒,什么都没留下…
展开
-
指定UIView的某几个角为圆角
如果需要将UIView的4个角全部都为圆角,做法相当简单,只需设置其Layer的cornerRadius属性即可(项目需要使用QuartzCore框架)。而若要指定某几个角(小于4)为圆角而别的不变时,这种方法就不好用了。对于这种情况,Stackoverflow上提供了几种解决方案。其中最简单优雅的方案,就是使用UIBezierPath。下面给出一段示例代码。 UIB原创 2015-01-14 15:47:59 · 420 阅读 · 0 评论 -
隐藏tabbar
第一种方法:在视图控制器的实例化被加入到导航控制器的栈容器之前,设置属性,相应的设置才会生效self.hidesBottomBarWhenPushed = YES;第二种方法:在push的页面,通过改变标签栏控制器view的子view的frame的形式,来达到隐藏标签栏的效果-(void)viewDidAppear:(BOOL)animated{ NSArra原创 2014-10-09 19:54:17 · 264 阅读 · 0 评论 -
归档
把需要保存的对象转换成NSData,然后存在本地等下次需要使用的时候,再解归档,就可以使用了第一种方法(存一个)-(void)fun1{ NSString *str = @“成本价”; //归档 NSData *data = [NSKeyedArchiver archivedDataWithRootObject:str]; //存本地原创 2014-10-09 19:56:11 · 232 阅读 · 0 评论 -
NSUserDefaults传值
1、传值NSUserDefaults *user = [NSUserDefaluts standardUserDefaluts]; [user setObject:@“123” forKey:@“name”];[user setObject:@“sdf” forKey:@“password”];[user synchronize];2、接值NSUserDefaults原创 2014-10-09 19:41:27 · 551 阅读 · 0 评论 -
给tableView添加一行
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:_dataArray.count-1 inSection:0];[_tableView insertRowsAtIndexPaths:@[indexPaht] withRowAnimation:UITableViewRowAnimationFade];自动滑动到最后一行[原创 2014-10-09 19:55:30 · 4172 阅读 · 0 评论 -
根据字的大小自适应Label的大小
CGSize size = [str boundingRectWithSize:CGSizeMake(250,1000) options:NSStringDrawingTruncatesLastVisibleLine | NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:@{NSFo原创 2014-10-09 19:54:58 · 258 阅读 · 0 评论 -
把不可变字符串转成可变字符串
第一种方法NSMutableString *str1 = [str mutableCopy];第二种方法NSMtableString *str2 = [NSMutableString stringWithFormat:@"%@“,str];原创 2014-10-09 19:51:42 · 574 阅读 · 0 评论 -
判断客户端类型 iphone 和 ipad
NSString *clientType = [[UIDevice currentDevice] model];设备标识首先导入第三方库 UIDevice+IndentifierAdditionNSString *udid = [[UIDevice currentDevice] uniqueDeviceIdentifier];原创 2014-10-09 19:50:42 · 286 阅读 · 0 评论 -
索引index
//获得索引内容-(NSArray *)sectionIndexTitlesForTableView:(UITabelView *)tableView{ NSMutableArray *indexArr = [NSMutableArr arrayWithCapacity:0]; for(int i = ‘A’; i { [indexArr原创 2014-10-09 19:45:39 · 307 阅读 · 0 评论 -
通知传值
1、要传的页面[[NSNotificationCenter defaultCenter] postNotificationName:@“deleteNav” object:nil];2、接受的页面[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(hidenNav) name:@“de原创 2014-10-09 19:45:03 · 245 阅读 · 0 评论 -
代理传值
后出来的页面想影响之前的页面需要用代理后出来的页面是触发类,之前的时被触发类被触发类在push之前把自己给second的delegate属性-(void)pushBtnDown{ SecondViewController *second = [[SecondViewController alloc] init]; //在push前把自己给se原创 2014-10-09 19:44:08 · 237 阅读 · 0 评论 -
table的编辑模式(多选,插入,删除)
//设置table的任意位置,开启何种编辑模式-(UITableViewCellEditingStyle)tableVIew:(UITableView *)tableVIew editingStyleForRowAnIndexPath:(NSIndexPath *)indexPath{ //单是单,一起就是多选 return UITableViewCellEditi原创 2014-10-09 19:48:40 · 364 阅读 · 0 评论 -
动画
1、[UIView animateWithDuration:0.5 animations:^{textField.frame = CGRectMake(10,5,210,30)}];第一个参数是动画持续时间第二个参数是动画内容,这里是个block,这个用^{}来书写,在{}中间写我们的内容,什么都行,改变颜色、位置、尺寸、数据都行,同时写n个都行,用“;”隔开2、 [UIVi原创 2014-10-09 19:49:17 · 263 阅读 · 0 评论 -
截图
-(UIImage *)getImageView{ UIGraphicsBeginImageContext(self.bounds.size); [self.layerrenderInContext:UIGraphicsGetCurrentContext()]; UIImage *Img =UIGraphicsGetImageFromCurrent原创 2014-12-24 09:43:47 · 316 阅读 · 0 评论 -
NSURLCache内存缓存
在IOS应用程序开发中,为了减少与服务端的交互次数,加快用户的响应速度,一般都会在IOS设备中加一个缓存的机制。使用缓存的目的是为了使用的应用程序能更快速的响应用户输入,是程序高效的运行。有时候我们需要将远程web服务器获取的数据缓存起来,减少对同一个url多次请求。下面将介绍如何在IOS设备中进行缓存。 内存缓存我们可以使用sdk中的NSURLCache类。NSURLRequ原创 2014-10-17 18:19:48 · 321 阅读 · 0 评论 -
不失帧的情况下进行图片的拉伸
定义图片UIImage *leftImage = [[UIImage imageNamed:@“ReceiverTextNodeBkg.png”] stretchableImageWithLeftCapWidth:30 topCapHeight:35];然后把图片加到 imageView 上最后根据宽度来改变 imageView的宽度、高度原创 2014-10-09 19:54:27 · 719 阅读 · 0 评论 -
table有左右两个btn,并且不止一段的时候,怎么设置tag值
btn.tag = 1000+indexPath.row*2+100*indexPath.section;btn1.tag = 1000+indexPath.row*2+1+100*indexPath.section;-(void)btnDown:(UIButton *)btn{ NSLog(@"下面进入第%d大页面的第%d小页面",(btn.tag-1000原创 2014-10-09 19:50:13 · 281 阅读 · 0 评论 -
单例传值
1、.h中定义属性和方法@property(nonatomic,retain)NSString *newStr;+(id)shareInstance;2、.m中实现static Value *value = nil;@implementation Value+(id)shareInstance{ static dispatch_on原创 2014-10-09 19:45:47 · 348 阅读 · 0 评论 -
Block
特点:如果block里面用到了外界变量,block里面变量的值永远是初始值,不管外面怎么改变,block里面的值都不会发生改变。其实block里面变量的值,是block复制了一份,已经不是外面变量的值了。__block int a = 10; 如果用双下划线声明一个变量,那么在block里面使用的值可以进行修改了。和c语言中函数指针类似int (^addBlock) (原创 2014-10-09 19:41:40 · 295 阅读 · 0 评论 -
监听键盘出现和消失
键盘出现[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];键盘消失[[NSNotificationCenter defaultCenter] addO原创 2014-10-09 19:38:59 · 311 阅读 · 0 评论 -
如何在本地查看应用程序沙盒
正常情况下,Finder文件下有一部分文件被隐藏起来,防止被用户破坏,在终端里面用命令打开显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -booltree隐藏Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -boolfalse原创 2014-10-09 19:42:37 · 464 阅读 · 0 评论 -
tableView 懒加载
//1、慢慢滑动的时候手离开屏幕//2、快速滑,手离开屏幕-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{ if (decelerate == YES) { //说明手离开屏幕,但是tableview还在减速,说原创 2014-10-10 12:00:21 · 535 阅读 · 0 评论 -
打电话、发短信、发邮件
//打电话-(void)telBtnDown{ //第一种打电话,挂断后会停留在系统电话里 NSString *telUrl = [NSStringstringWithFormat:@"tel://%@",@"10086"]; [[UIApplicationsharedApplication] openURL:[NSURLURLWithStr原创 2014-10-10 11:48:02 · 329 阅读 · 0 评论 -
UIView常用的一些方法小记之setNeedsDisplay和setNeedsLayout
1,UIView的setNeedsDisplay和setNeedsLayout方法 首先两个方法都是异步执行的。而setNeedsDisplay会调用自动调用drawRect方法,这样可以拿到 UIGraphicsGetCurrentContext,就可以画画了。而setNeedsLayout会默认调用layoutSubViews, 就可以 处理子视图中的一些数据。原创 2014-11-10 16:36:07 · 345 阅读 · 0 评论 -
sqlite3数据库
添加第三方库,FMDB ,需要添加原创 2014-08-29 20:53:06 · 270 阅读 · 0 评论 -
浅拷贝、深拷贝
copy、mutableCopy copy:不管是可变的,还是不可变的,结果都是不可变的 mutableCopy:不管是不可变的,还是可变的,结果都是可变的原创 2014-09-10 16:40:07 · 221 阅读 · 0 评论 -
归档
归档,就是把需要保存的对象chu原创 2014-09-10 16:11:14 · 238 阅读 · 0 评论 -
KVC、KVO
//KVC KVO //KVC 赋值方式 key value coding 键值编码 //KVO key value observer键值监听 /* [item setValue:@"西门吹雪" forKey:@"name"]; 1、item里找叫做name的属性去赋值原创 2014-09-10 15:43:06 · 212 阅读 · 0 评论 -
视频(音频)播放 AVPlayer
PlayerView首先,导入系统库原创 2014-09-09 19:15:32 · 634 阅读 · 0 评论 -
音频播放 AVAudioPlayer
AVAudioPlayer首先,添加系统库AVFoundat原创 2014-09-09 18:56:14 · 444 阅读 · 0 评论 -
加载UIImage的两种方式
1、从内存//把图片从硬盘读到内存//UIImage *image1 = [UIImage imageNamed:@"2.png"]; //把读到内存的图片image对象赋值给imageView的image属性 //imageView1.image = image1;2、从硬盘找到文件的路径NSString *imagePath原创 2014-08-25 21:23:25 · 424 阅读 · 0 评论 -
视频(音频)播放 MoviePlayer
MoviePlayer 首先,添加原创 2014-09-09 19:20:19 · 983 阅读 · 0 评论 -
RequestQueue 请求队列
/* NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"https://api.douban.com/v2/book/search?q=harry&apikey=00862fc9947075ac01928f5cbd516104"]]; //操作队列 NSO原创 2014-09-05 20:02:41 · 2128 阅读 · 0 评论 -
xml文件解析
甄嬛传 流潋紫 80.00 一部宫廷情感大戏,口碑极佳,被称为宫廷剧的终结篇,是一部具有里程碑意义的经典之作。在日本,韩国,美国等相继播出。 呐喊 鲁原创 2014-08-26 11:20:15 · 324 阅读 · 0 评论 -
手势 gesture
首先,在屏幕上贴一张图片原创 2014-08-30 13:50:38 · 283 阅读 · 0 评论 -
多线程
-(void)buttonClick{ // [self thread]; //[self operation]; // [self gcd]; //[self gcd2]; [selfdownloadImage];}-(void)downloadImage{ dispatch_asyn原创 2014-09-23 16:54:34 · 259 阅读 · 0 评论 -
封装的评分星星类
1、.h@interface StarView :UIView{ UIView *_backView; UIView *_foreView;}-(void)setStar:(float)score;2、.m原创 2014-09-02 19:15:33 · 351 阅读 · 0 评论 -
网络请求回来的时间字符串进行一下小转换
//得到剩余时间-(NSString *)getExpireTime:(NSString *)expireTime{ NSDateFormatter *formatter = [[NSDateFormatteralloc] init]; //2014-09-02 19:28:36.0 formatter.dateFormat =@"yy原创 2014-09-02 19:11:39 · 365 阅读 · 0 评论 -
上拉刷新和下拉刷新
shouxi,用到的第三方库是EGOTableViewPullRefresh原创 2014-09-02 18:12:59 · 606 阅读 · 0 评论 -
UIWebView
#import "ViewController.h"@interfaceViewController ()UIWebViewDelegate>{ UIWebView *_webView; UITextField *_textField;}@end@implementation ViewController原创 2014-09-15 17:45:08 · 256 阅读 · 0 评论