IOS常用代码
2015-09-16 16:06
726 查看
IOS蓝牙获取设备MAC地址
由于苹果读取设备蓝牙mac地址的权限问题,以下方法获取的mac地址为模拟值,与设备mac地址有一定的差异,但是可以区分设备
IOS之二维码的制作与扫描
二维码SDK的Dome“QRCode”中制作libqrencode库文件,扫描ZBarSDK库文件
1.制作二维码 /*字符转二维码
导入 libqrencode文件
添加 #import “QRCodeGenerator.h”
iPhone获取当前位置信息
要获取当前位置的信息,除了用CLLocation库之外,还可以用Mapkit,而我个人认为Mapkit在你需要得到更准确的位置信息时更有用,也十分方便.用法如下:
这个函数就不解释了,看名字你懂的~
初始化geocoder 用当前的经纬信息来初始化geocoder
在geocoder中会有很多参数,比如城市名,街道,等等很多信息.
1.页面切换
2.获取AppDelegate
获取配置信息
4.读取plist
5.关闭键盘
6.内置功能调用
7.导航
8.返回一个TableViewCell
9.UIAlertView异步的哟
10.注册推送通知
11.注册网络状态
12.本地通知
13.计算MD5
14.获取位置
15.本地化
16.获取图片
17.加速器
18.声音
iphone 表格背景透明
由于苹果读取设备蓝牙mac地址的权限问题,以下方法获取的mac地址为模拟值,与设备mac地址有一定的差异,但是可以区分设备
NSString *mac = [[NSString alloc] initWithUTF8String:CFStringGetCStringPtr(CFUUIDCreateString(NULL, [peripheral UUID]), 0)];
IOS之二维码的制作与扫描
二维码SDK的Dome“QRCode”中制作libqrencode库文件,扫描ZBarSDK库文件
1.制作二维码 /*字符转二维码
导入 libqrencode文件
添加 #import “QRCodeGenerator.h”
@property (strong , nonatomic) UIImageView* qRImageView; - (void)viewDidLoad { [super viewDidLoad]; self.qRImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 400)]; [self.view addSubview:self.qRImageView]; } -(IBAction)qrBtnPress:(id)sender { self.qRImageView.image = [QRCodeGenerator qrImageForString:@"二维码存储的字符串信息 asddsdd" imageSize:self.qRImageView.bounds.size.width]; } 2.读取二维码信息 添加#import "ZBarSDK.h"//读二维码库 @interface ViewController : UIViewController//读二维码的代 @property (strong , nonatomic) ZBarReaderViewController* reader; @property (strong , nonatomic) NSString* qRUrl; - (void)viewDidLoad { [super viewDidLoad]; self.qRUrl = [[NSString alloc] init]; self.reader = [[ZBarReaderViewController alloc] init]; self.reader.readerDelegate = self; self.reader.supportedOrientationsMask = ZBarOrientationMaskAll; ZBarImageScanner *scanner = self.reader.scanner; [scanner setSymbology: ZBAR_I25 config: ZBAR_CFG_ENABLE to: 0]; //这部分为zBarSDK文档提供的例子给出的主要的意思就是初始化ZBarReaderViewController类的对象,以及设置代理回调方法为 - (void) imagePickerController: (UIImagePickerController*) reader //didFinishPickingMediaWithInfo: (NSDictionary*) info self.qRImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 400)]; [self.view addSubview:self.qRImageView]; } //点击Button时将扫描二维码需要的照相机视图, self.reader是(ZBarReaderViewController)类的对象 -(IBAction)QRPress:(id)sender { [self presentViewController:self.reader animated:YES completion:^{ NSLog(@"fd"); }]; } //这个回调方法的写法是固定,只要知道以下几点就好需要的数据是从symbol.data中取出的,因此也就需要在.h文件中声明一个字符串接受就好。在这里我在.h中声明了self.qRUrl对象进行接受,之后只要按下面的格式写就好。 - (void) imagePickerController: (UIImagePickerController*) reader didFinishPickingMediaWithInfo: (NSDictionary*) info { id results = [info objectForKey: ZBarReaderControllerResults]; ZBarSymbol *symbol = nil; for(symbol in results) { NSLog(@"symbol =%@",symbol.data); break; } self.qRUrl = symbol.data; UIAlertView* alert = [[UIAlertView alloc] initWithTitle:self.qRUrl message:self.qRUrl delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; [alert show]; self.qRImageView.image = [info objectForKey: UIImagePickerControllerOriginalImage]; [self.reader dismissViewControllerAnimated:YES completion:^{ }]; }
iPhone获取当前位置信息
要获取当前位置的信息,除了用CLLocation库之外,还可以用Mapkit,而我个人认为Mapkit在你需要得到更准确的位置信息时更有用,也十分方便.用法如下:
- (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFailWithError:(NSError *)error { NSLog(@"MKReverseGeocoder has failed."); }
这个函数就不解释了,看名字你懂的~
- (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFindPlacemark:(MKPlacemark *)placemark { currentCityLabel.text = placemark.locality; } //用CLLoction获取到当前的经纬度 - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation { CLLocationDistance l = newLocation.coordinate.latitude;//得到经度 CLLocationDistance v = newLocation.coordinate.longitude;//得到纬度 NSLog(@"%f %f", l,v); CLLocation *new = [[CLLocation alloc] initWithLatitude: 11.0 longitude: 12.0]; CLLocationDistance u = [newLocation distanceFromLocation: new]; NSLog(@"%f", u); [self startedReverseGeoderWithLatitude: l longitude: v]; } - (void)startedReverseGeoderWithLatitude:(double)latitude longitude:(double)longitude{ CLLocationCoordinate2D coordinate2D; coordinate2D.longitude = longitude; coordinate2D.latitude = latitude; MKReverseGeocoder *geoCoder = [[MKReverseGeocoder alloc] initWithCoordinate:coordinate2D]; geoCoder.delegate = self; [geoCoder start]; } #pragma mark - - (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFindPlacemark:(MKPlacemark *)placemark { NSLog(@"当前城市:%@",placemark.locality); } - (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFailWithError:(NSError *)error { }
初始化geocoder 用当前的经纬信息来初始化geocoder
在geocoder中会有很多参数,比如城市名,街道,等等很多信息.
1.页面切换
//页面切换 MyViewController *controller = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil]; controller.modalTransitionStyle = UIModalTransitionStyleCoverVertical; [self presentModalViewController:controller animated:YES]; //页面返回 [self dismissModalViewControllerAnimated:YES];
2.获取AppDelegate
MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
获取配置信息
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSString *MyTextValue = [defaults objectForKey:TEXT_VALUE_KEY]; BOOL MyBoolValue = [defaults boolForKey:BOOL_VALUE_KEY];
4.读取plist
//本地 NSString *path = [[NSBundle mainBundle] pathForResource:@"filename" ofType:@"plist"]; NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:path]; //远程 NSStrng * strURL = [[NSString alloc] initWithFormat:@"FORMAT",.....]; NSLog(@"%@",strURL); NSURL *plistURL = [NSURL URLWithString:strURL]; NSDictionary *myDict = [[NSDictionary alloc] initWithContentsOfURL:plistURL];
5.关闭键盘
[myControl resignFirstResponder];
6.内置功能调用
//网站 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://网址"]]; //打电话 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://电话号码"]]; //发送邮件 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://邮箱地址"]]; //发送短信 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://电话号码"]];
7.导航
//左按钮 UIBarButtonItem *lBtn = [[UIBarButtonItem alloc] initWithTitle:@"名称" style:UIBarButtonItemStylePlain target:self action:@selector(lBtnPressed:)]; self.navigationItem.leftBarButtonItem = lBtn; [lBtn release]; //入栈 MyViewController *nextController = [[MyViewController alloc] init]; nextController.title = @"MyViewControllerName"; [self.navigationController pushViewController:nextController animated:YES]; //出栈 [self.navigationController popViewControllerAnimated:YES];
8.返回一个TableViewCell
static NSString *tableViewCellIdentifier = @"MyCellIdentifier"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:tableViewCellIdentifier]; if(cell==nil) { cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:tableViewCellIdentifier] autorelease]; } cell.textLabel.text = @"TEXT" cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; return cell;
9.UIAlertView异步的哟
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"HI" message:@"Hello" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil]; [alert show]; [alert release];
10.注册推送通知
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert |UIRemoteNotificationTypeSound];
11.注册网络状态
[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(reachabilityChanged:) name: KEY_ATS_NETWORK_CHANGE_NOTIFICATION object: nil]; NSString* token = [deviceToken description]; deviceTokenId = [[[token stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"<>"]] stringByReplacingOccurrencesOfString:@" "withString:@""] retain]; PushedMsg *newMsg = [[PushedMsg alloc] init]; newMsg.msgContent = [[[userInfo objectForKey:@"aps"] objectForKey:@"alert"] copy];
12.本地通知
//增加 UILocalNotification *notification=[[UILocalNotification alloc] init]; NSDate *now1=[NSDate date]; notification.timeZone=[NSTimeZone defaultTimeZone]; notification.repeatInterval=NSDayCalendarUnit; notification.applicationIconBadgeNumber = 1; notification.alertAction = NSLocalizedString(@"显示", nil); notification.fireDate=[now1 dateByAddingTimeInterval:10]; notification.alertBody=@"通知"; [notification setSoundName:UILocalNotificationDefaultSoundName]; NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys: [NSString stringWithFormat:@"%d",myswitch.tag],KEY_ATS_LOCAL_NOTIFICATION, nil]; [notification setUserInfo:dict]; [[UIApplication sharedApplication] scheduleLocalNotification:notification]; //取消 UILocalNotification *myUILocalNotification=[myArray objectAtIndex:i]; if ([[[myUILocalNotification userInfo] objectForKey:KEY_ATS_LOCAL_NOTIFICATION] intValue]==myswitch.tag) { [[UIApplication sharedApplication] cancelLocalNotification:myUILocalNotification]; }
13.计算MD5
+ (NSString*)CalcMD5:(NSString *)InString { //生成MD5 const char *ptr = [InString UTF8String]; unsigned char md5Buffer[CC_MD5_DIGEST_LENGTH]; CC_MD5(ptr, strlen(ptr), md5Buffer); //转为NSString NSMutableString *output = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2]; for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) { [output appendFormat:@"x",md5Buffer[i]]; } return output; }
14.获取位置
CLLocationManager* locationManager = [[CLLocationManager alloc]init]; locationManager.delegate = self; locationManager.desiredAccuracy = kCLLocationAccuracyBest; [locationManager startUpdatingLocation];
15.本地化
NSLocalizedString(@"KEY",@"DEFAULT");
16.获取图片
UIImagePickerController *picker = [[UIImagePickerController alloc] init]; picker.delegate = self; picker.allowsEditing = YES; picker.sourceType = UIImagePickerControllerSourceTypeCamera; [self presentModalViewController:picker animated:YES]; [picker release];
17.加速器
UIAccelerometer *accel = [UIAccelerometer sharedAccelerometer]; accel.delegate =self; accel.updateInterval = UPDATE_INTERVAL;
18.声音
NSString *path=[[NSBundle mainBundle] pathForResource:@"文件名" ofType:@"wav"]; AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:path], &soundID); AudioServicesPlaySystemSound(soundID);
iphone 表格背景透明
表格透明 [TableView setBackgroundColor:[UIColor grayColor]]; Cellu背景色设置 - (UITableViewCell *)tableView:(UITableView *)tableView1 cellForRowAtIndexPath:(NSIndexPath *)indexPath {static NSString *SimpleTableIdentifier = @"SimpleTableIdentifier"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier: SimpleTableIdentifier]; if (cell == nil) { cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier: SimpleTableIdentifier] autorelease]; } cell.backgroundColor=[UIColor clearColor]; //改变Cell背景颜色 // cell.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"xian.png"]]; 加入背景图片//改变行线条颜色[tableView setSeparatorColor:[UIColor clearColor]];}
相关文章推荐
- IOS中定时器NSTimer的开启与关闭
- 蓝懿学习之考试受挫
- iOS蓝牙开发(一)蓝牙相关基础知识
- iOS视频拍摄与压缩
- 使用 fastlane 实现 iOS 持续集成
- 集成支付宝钱包支付iOS SDK的方法与经验
- iOS学习 很有用的链接
- IOS视频压缩
- ios经典博客地址
- iostat samples
- IOS开发(转自知乎)
- iOS开发之CAAnimation核心动画
- ios kvc
- ios Block传值
- iOS 归档 保存对象到本地
- iOS开发之锚点anchorPoint
- iOS 即时视频和聊天(基于环信)
- IOS高德地图使用说明
- iOS 心得一 单元格的动画加载(非autolayout适配模式下)
- iOS 键盘自适应(IQKeyboardManager)使用小结