您的位置:首页 > 移动开发 > IOS开发

IOS常用代码

2015-09-16 16:06 726 查看
IOS蓝牙获取设备MAC地址

由于苹果读取设备蓝牙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]];}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: