- 博客(77)
- 收藏
- 关注
原创 UITextField 中英文字数限制
//给输入框添加观察者 [cardNameTF addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];//实现通知- (void)textFieldDidChange:(UITextField *)textField
2016-09-13 10:25:39
618
原创 iOS键盘监察通知
//注册键盘出现的通知 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWasShown:)
2016-08-17 18:28:52
493
原创 iOS动画那些事
#pragma mark 添加动画-(void)addZoomInAnimationWithView:(UIView*)view{ //放大动画 CABasicAnimation *animationZoomIn = [CABasicAnimation animationWithKeyPath:@"transform.scale"]; animationZoomIn.d
2016-08-17 18:25:36
248
原创 iOS数组中查找对象
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"accountId == %@", snUser.accountId]; NSArray *filteredArray = [userList filteredArrayUsingPredicate:predicate];
2016-08-17 18:24:42
2156
原创 iOS相册获取那些事
#import #import @interface BCGetPhotoAlbums : NSObject+(BCGetPhotoAlbums*)shareManager;/** * 获取相册名称列表 * * @return 返回名称列表 */-(NSMutableArray*)getPhtotAlbumsNames;/** * 获取照片数组列表 * *
2016-08-17 18:23:05
2083
原创 iOS时间那些事
1、毫秒数转换为时间字符串:+(NSString*)transformDateForMillisecond:(double)millisecond{ NSDate *date = [[NSDate alloc]initWithTimeIntervalSince1970:millisecond/1000.0]; NSDateFormatter *dateFormatter =
2016-08-17 18:19:50
267
原创 iOS 多线程
1、NSThread:优点:NSThread 比其他两个轻量级缺点:需要自己管理线程的生命周期,线程同步。线程同步对数据的加锁会有一定的系统开销NSThread的使用NSThread 有两种直接创建方式:- (id)initWithTarget:(id)target selector:(SEL)selector object:(id)argument + (void)detach
2016-03-18 09:31:53
196
转载 iOS 中KVC、KVO使用和介绍
1、KVC,即是指 NSKeyValueCoding,一个非正式的Protocol,提供一种机制来间接访问对象的属性。而不是通过调用Setter、Getter方法访问。KVO 就是基于 KVC 实现的关键技术之一MTPerson.h@interface MTPerson : NSObject{ NSString*_name; int
2016-03-16 16:52:15
360
原创 OC 的常用排序方式
方式一://冒泡排序void bubbleSort(){ NSMutableArray *p = [[NSMutableArray alloc] initWithObjects:@"7",@"9", @"3",@"5",@"4",@"1",nil]; for (int i = 0; i<[p count]; i++) { for (int
2016-03-16 15:08:57
290
转载 几种排序方式
1、插入排序在要排序的一组数中,假设前面(n-1) [n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。直接插入排序是稳定的。算法时间复杂度O(n2)--[n的平方]main(){int a[10],j,i,m;for(j=1;j<10;j++) {m=a[j];
2016-03-16 10:44:59
517
转载 iOS面试题十
1、#import和#include的区别,@class代表什么?@class一般用于头文件中需要声明该类的某个实例变量的时候用到,在m文件中还是需要使用#import而#import比起#include的好处就是不会引起重复包含2、谈谈Object-C的内存管理方式及过程?1.当你使用new,alloc和copy方法创建一个对象时,该对象的保留计数器值为1.当你不再使用该对象时,
2016-03-16 09:52:20
182
转载 iOS进阶面试题一
OneV‘s Den在博客里出了10道iOS面试题,用他的话是:"列出了十个应聘Leader级别的高级Cocoa/CocoaTouch开发工程师所应该掌握和理解的技术" 。 在这里給一份我的答案。 1. 你使用过Objective-C的运行时编程(Runtime Programming)么?如果使用过,你用它做了什么?你还能记得你所使用的相关的头文件或者某些方法的名称吗? Obje
2016-03-16 09:47:25
225
转载 iOS面试题九
1.#import和#include的区别 @class?@class一般用于头文件中需要声明该类的某个实例变量的时候用到,在m文 件中还是需要使用#import而#import比起#include的好处就是不会引起交叉编译2. readwrite,readonly,assign,retain,copy,nonatomic 属性的作用@property是 一个属性访问声明,扩号内支
2016-03-16 09:40:17
297
转载 ios各种动画效果
1、最普通动画: //开始动画 [UIView beginAnimations:nil context:nil]; //设定动画持续时间 [UIView setAnimationDuration:2]; //动画的内容 frame.origin.x += 150; [img setFrame:frame]; //动画结束 [UIView commitAnimations];
2016-03-15 15:17:17
291
转载 升级Xcode之后VVDocumenter-Xcode不能用的解决办法
VVDocumenter-Xcode是Xcode上一款快速添加标准注释,并可以自动生成文档的插件。有了VVDocumenter-Xcode,规范化的注释,只需要输入三个斜线“///”就可以搞定,非常方面实用,目前已经支持Swift。从Xcode 5开始,苹果要求加入UUID证书从而保证插件的稳定性。因此Xcode版本更新之后需要在VVDocumenter-Xcode的Info.plist文件中
2016-03-15 15:10:00
216
原创 响应Return键
UITextView //代理方法- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{ if (1 == range.length) {//按下回格键 return YES; }
2016-03-15 15:03:59
328
原创 字符统计
1、UITextView- (void)textViewDidChange:(UITextView *)textView{ int count = [textView.text length]; //这里的count就是字符个数了}2、UITextField方法一:自己先为UITextField的Editing Changed事件添加一个响应方法
2016-03-15 15:02:29
256
原创 UIKeyboard 键盘
一、键盘风格 UIKit框架支持8种风格键盘。typedef enum { UIKeyboardTypeDefault, // 默认键盘:支持所有字符 UIKeyboardTypeASCIICapable, // 支持ASCII的默认键盘 UIKeyboardTypeNumbers
2016-03-15 14:52:29
293
转载 ios 获取所有通讯录信息
-(void)viewDidAppear:(BOOL)animated{ ABAddressBookRef addressBook = ABAddressBookCreate(); CFArrayRef results = ABAddressBookCopyArrayOfAllPeople(addressBook); for(int
2016-03-15 14:50:36
268
转载 iOS视频播放器的制作
#import "MediaPlayer/MPMoviePlayerController.h".m文件中,加入一下代码- (void)viewDidLoad{ [super viewDidLoad]; self.navigationController.navigationBar.hidden=YES; //geomancy.jpg UIImageView
2016-03-15 14:48:29
348
转载 MPMoviePlayerController 网络视频加载
iphone中已经自定义好了视频播放类MPMoviePlayerController,我们只需调用既可,我自己封装好了一个视频播放类,下面就直接给大家上代码吧。.h#import #import //导入视频播放库@interface CustomMoviePlayerViewController : UIViewController{ MPMoviePlaye
2016-03-15 14:45:26
335
原创 给UITableView 添加索引
- (void)viewDidLoad { [super viewDidLoad]; [self.tabBarController.tabBar setHidden:YES]; //设置索引栏字体和背景颜色 if ([self.tableView respondsToSelector:@selector(setSectionIndexColor:)]) {
2016-03-15 14:43:35
317
原创 NSURLSessionUploadTask 上传图片
-(void)uploadPhotoImageWithUrl:(NSString*)url userIMID:(NSString*)userIMID imageData:(NSData*)imageData imageName:(NSString*)imageName{
2016-03-15 14:42:33
876
转载 iOS开发之----两种保存用户名和密码实现记住密码库
使用Keychain存储用户敏感信息iOS的keychain服务提供了一种安全的保存私密信息(密码,序列号,证书等)的方式,每个ios程序都有一个独立的keychain存储。相对于NSUserDefaults、文件保存等一般方式,keychain保存更为安全,而且keychain里保存的信息不会因App被删除而丢失,所以在重装App后,keychain里的数据还能使用。从ios
2016-03-15 14:36:59
2693
原创 iOS 设置状态栏字体颜色为白色
在info.plist文件中添加字段: view controller -base status bar appearence 设为NO然后在页面中调用: [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:NO];
2016-03-15 14:31:36
311
原创 解决iOS9苹果将原http协议改成了https协议问题
解决方法:在info.plist 加入key NSAppTransportSecurityNSAllowsArbitraryLoads
2016-03-15 14:30:31
349
原创 Search Bar 去掉背景颜色
storyboard里只能设置background颜色,可是发现clear color无法使用,其实代码还是可以设置的,那就是删除背景view:[[self.searchBar.subviews objectAtIndex:0] removeFromSuperview];
2016-03-15 14:29:39
211
原创 iOS 调用系统设置
NSURL*url=[NSURL URLWithString:@"prefs:root=WIFI"];[[UIApplication sharedApplication] openURL:url];About — prefs:root=General&path=AboutAccessibility — prefs:root=General&path=ACCESSIBILITY
2016-03-15 14:28:47
232
原创 iOS调用系统声音与振动
//首先要在工程里加入Audio Toolbox framework这个库,然后在需要调用的文件里“#import ”//最后在需要播放提示音的地方编写如下代码:AudioServicesPlaySystemSound(1000);//新邮件消息提示AudioServicesPlaySystemSound(kSystemSoundID_Vibrate); //震动
2016-03-15 14:27:24
255
原创 NavigationBar--修改返回按钮的标题
UIBarButtonItem *backItem = [[[UIBarButtonItem alloc] init] autorelease]; backItem.title = @"返回"; self.navigationItem.backBarButtonItem = backItem;
2016-03-15 14:26:09
167
原创 iOS 文本计算
NSDictionary *attribute = @{NSFontAttributeName: UIFont(14)}; CGRect labelRect = [string boundingRectWithSize:CGSizeMake(200,2000) options:(NSStringDrawingUsesLineFragmentOrigin|NSStringDrawin
2016-03-15 14:25:27
155
原创 iOS根据2个经纬度计算距离
#pragma mark - calculate distance 根据2个经纬度计算距离#define PI 3.14159265358979323+(double) CalculationDistanceOther_Lon1:(double)lon1 Other_Lat1:(double)lat1 self_Lon2:(double)lon2 self_Lat2:(double)lat
2016-03-15 14:24:25
244
原创 UIPasteboard 粘贴板
// 复制文字到粘贴板 UIPasteboard *pasteboard = [UIPasteboard generalPasteboard]; pasteboard.string = self.label.text;
2016-03-15 14:23:42
242
原创 NSNotificationCenter消息通信
NSNotificationCenter消息通信作用:NSNotificationCenter是专门供程序中不同类间的消息通信而设置的.注册通知:即要在什么地方接受消息 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(mytest:) name:@" mytes
2016-03-15 14:22:33
158
原创 iOS 元素坐标转换
// 将像素point由point所在视图转换到目标视图view中,返回在目标视图view中的像素值- (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view;// 将像素point从view中转换到当前视图中,返回在当前视图中的像素值- (CGPoint)convertPoint:(CGPoint)point fromView:
2016-03-15 14:20:20
364
原创 iOS修改截取图片不规范问题
+(UIImage *) imageCompressForWidth:(UIImage *)sourceImage targetWidth:(CGFloat)defineWidth{ UIImage *newImage = nil; CGSize imageSize = sourceImage.size; CGFloat width = imageSize.width
2016-03-15 14:19:30
190
原创 iOS 任意类型数据转换字符串
//转换数据类型: NSError *parseError = nil; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:responseObject options:NSJSONWritingPrettyPrinted error:&parseError]; NSString* jsonStr =
2016-03-15 14:18:55
533
原创 C 运算符和算法
运算(操作)是对数据的加工。最基本的运算形式常常可以用一些简洁的符号来记忆,这些符号称为运算符或操作符。被运算的对象-数据称为运算量或操作数。表达式描述了对哪些数据、以什么顺序以及施加什么样的操作。运算量可以是常量,也可以是变量,还可以是函数。 C语言中提供了丰富的运算符,能够构成多种表达式,它把许多基本操作都作为运算符处理。例如,C语言把赋值符作为赋值运算符。 学习运算符时应该注意以
2016-03-15 14:16:22
695
原创 C 预处理指令
C程序的源代码中可包括各种编译指令,这些指令称为预处理命令。虽然它们实际上不是C语言的一部分,但却扩展了C程序设计的环境。本节将介绍如何应用预处理程序和注释简化程序开发过程,并提高程序的可读性。ANSI标准定义的C语言预处理程序包括下列命令:#define,#error,#include,#if,#else,#elif,#endif,#ifdef,#ifndef,#undef,#line,#p
2016-03-15 14:15:25
238
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人