1、如果在程序中想对某张图片进行处理的话(得到某张图片的一部分)可一用以下代码:
UIImage *image = [UIImage imageNamed:filename];
CGImageRef imageRef = image.CGImage;
CGRect rect = CGRectMake(origin.x, origin.y ,size.width, size.height);
CGImageRef imageRefRect = CGImageCreateWithImageInRect(imageRef, rect);
UIImage *imageRect = [[UIImage alloc] initWithCGImage:imageRefRect];
2、判断设备是iphone还是iphone4的代码:
#define isRetina ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 960), [[UIScreen mainScreen] currentMode].size) : NO)
3、判断邮箱输入的是否正确:
- (BOOL) validateEmail: (NSString *) candidate {
NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
return [emailTest evaluateWithObject:candidate];
}
4、如何把当前的视图作为照片保存到相册中去:
#import <QuartzCore/QuartzCore.h>
UIGraphicsBeginImageContext(currentView.bounds.size); //currentView 当前的view
[currentView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);
5、本地通知(类似于push通知)按home键到后台 十秒后触发:
UILocalNotification *notification=[[UILocalNotification alloc] init];
if (notification!=nil) {
NSLog(@">> support local notification");
NSDate *now=[NSDate new];
notification.fireDate=[now addTimeInterval:10];
notification.timeZone=[NSTimeZone defaultTimeZone];
notification.alertBody=@"该去吃晚饭了!";
[[UIApplication sharedApplication].scheduleLocalNotification:notification];
}
6、捕获iphone通话事件:
CTCallCenter *center = [[CTCallCenter alloc] init];
center.callEventHandler = ^(CTCall *call)
{
NSLog(@"call:%@", call.callState);
}
7、iOS 4 引入了多任务支持,所以用户按下 “Home” 键以后程序可能并没有退出而是转入了后台运行。如果您想让应用直接退出,最简单的方法是:在 info-plist 里面找到 Application does not run in background 一项,勾选即可。
8、使UIimageView的图像旋转:
float rotateAngle = M_PI;
CGAffineTransform transform =CGAffineTransformMakeRotation(rotateAngle);
imageView.transform = transform;
9、设置旋转的原点:
#import <QuartzCore/QuartzCore.h>
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bg.png"]];
imageView.layer.anchorPoint = CGPointMake(0.5, 1.0);
10、实现自定义的状态栏(遮盖状态栏):
CGRect frame = {{0, 0}, {320, 20}};
UIWindow* wd = [[UIWindow alloc] initWithFrame:frame];
[wd setBackgroundColor:[UIColor clearColor]];
[wd setWindowLevel:UIWindowLevelStatusBar];
frame = CGRectMake(100, 0, 30, 20);
UIImageView* img = [[UIImageView alloc] initWithFrame:frame];
[img setContentMode:UIViewContentModeCenter];
[img setImage:[UIImage imageNamed:@"00_0103.png"]];
[wd addSubview:img];
[wd makeKeyAndVisible];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:2];
frame.origin.x += 150;
[img setFrame:frame];
[UIView commitAnimations];
11、在程序中实现电话的拨打:
//添加电话图标按钮
UIButton *btnPhone = [[UIButton buttonWithType:UIButtonTypeCustom] retain];
btnPhone.frame = CGRectMake(280,10,30,30);
UIImage *image = [UIImage imageNamed:@"phone.png"];
[btnPhone setBackgroundImage:image forState:UIControlStateNormal];
//点击拨号按钮直接拨号
[btnPhone addTarget:self action:@selector(callAction:event:)forControlEvents:UIControlEventTouchUpInside];
[cell.contentView addSubview:btnPhone]; //cell是一个UITableViewCell
//定义点击拨号按钮时的操作
- (void)callAction:(id)sender event:(id)event{
NSSet *touches = [event allTouches];
UITouch *touch = [touches anyObject];
CGPoint currentTouchPosition = [touch locationInView:self.listTable];
NSIndexPath *indexPath = [self.listTable indexPathForRowAtPoint: currentTouchPosition];
if (indexPath == nil) {
return;
}
NSInteger section = [indexPath section];
NSUInteger row = [indexPath row];
NSDictionary *rowData = [datas objectAtIndex:row];
NSString *num = [[NSString alloc] initWithFormat:@"tel://%@",number]; //number为号码字符串
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:num]]; //拨号
}
12、更改iphone的键盘颜色:
1.只有这2种数字键盘才有效果。UIKeyboardTypeNumberPad,UIKeyboardTypePhonePad
2. keyboardAppearance = UIKeyboardAppearanceAlert
- (void)textViewDidBeginEditing:(UITextView *)textView{
NSArray *ws = [[UIApplication sharedApplication] windows];
for(UIView *w in ws){
NSArray *vs = [w subviews];
for(UIView *v in vs)
{
if([[NSString stringWithUTF8String:object_getClassName(v)] isEqualToString:@"UIKeyboard"])
{
v.backgroundColor = [UIColor redColor];
}
}
}
13、设置时区
NSTimeZone *defaultTimeZone = [NSTimeZone defaultTimeZone];
NSTimeZone *tzGMT = [NSTimeZone timeZoneWithName:@"GMT"];
[NSTimeZone setDefaultTimeZone:tzGMT];
上面两个时区任意用一个。
14、Ipad隐藏键盘的同时触发方法。
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillHide:)
name:UIKeyboardWillHideNotification
object:nil];
- (IBAction)keyboardWillHide:(NSNotification *)note
14、在一个程序中打开另一个程序的方法。
http://www.cocoachina.com/iphonedev/sdk/2010/0322/768.html
15、计算字符串的字数
-(int)calculateTextNumber:(NSString *)text
{
float number = 0.0;
int index = 0;
for (index; index < [text length]; index++)
{
NSString *protoText = [text substringToIndex:[text length] - index];
NSString *toChangetext = [text substringToIndex:[text length] -1 -index];
NSString *charater;
if ([toChangetext length]==0)
{
charater = protoText;
}
else
{
NSRange range = [text rangeOfString:toChangetext];
charater = [protoText stringByReplacingCharactersInRange:range withString:@""];
}
NSLog(charater);
if ([charater lengthOfBytesUsingEncoding:NSUTF8StringEncoding] == 3)
{
number++;
}
else
{
number = number+0.5;
}
}
return ceil(number);
}
分享到:
相关推荐
在iOS开发中,使用调色板有以下几个主要的好处: 1. **一致性**:调色板可以帮助确保在整个应用中使用一致的颜色,从而保持品牌识别度和视觉和谐。 2. **易用性**:对于设计师和开发者而言,使用调色板可以更轻松...
对于初学者来说,通过这些源码可以了解到过去几年iOS开发的一些主流实践,这有助于他们理解移动应用开发的基本流程,同时也能学习到如何将第三方库整合到项目中的技巧。 【标签】中的"IOS 源码 毕业设计 论文 App...
本文将深入探讨几种在iOS开发中常用的设计模式:代理模式、观察者模式、MVC模式、单例模式、策略模式以及工厂模式。 1. **代理模式**: 代理模式在iOS开发中广泛应用,主要用于对象间通信。例如,UITableView的...
标题“iOS应用开发的常规架构”涵盖了几个关键组件和设计模式,这些都是开发者在构建应用程序时必须掌握的基础知识。描述中提到的“导航栏”,“UITableView”,“集合空间(UICollectionView)的使用”,以及“手势...
首先,Objective-C编程艺术的章节1至6部分介绍了代码中需要特别注意的几个方面: 1. 初始化和销毁:在Objective-C中,类的初始化通常通过init方法实现,而清理工作则在dealloc方法中进行。开发者需要确保对象在初始...
本资源“ios下几个常用的cocos2d开发工具v1”集合了一些重要的开发辅助工具,帮助开发者提升效率并优化工作流程。 1. **纹理编辑器**:在Cocos2d中,纹理是游戏画面的基础元素,包括图像、动画等。一个强大的纹理...
这个"ios开发 简单demo"包含了几个关键的学习点:动画、时钟、计算器以及常用UI界面。这些元素是构建iOS应用程序的基础,让我们逐一深入探讨。 1. **动画**:在iOS开发中,动画是提升用户体验的重要手段。UIKit框架...
这个"ios-微博项目纯代码.zip"压缩包包含的代码示例主要展示了以下几个方面的技术应用: 1. **自定义TabBar**:在iOS应用中,TabBar是常用的导航组件,用于展示多个主要功能间的切换。自定义TabBar意味着开发者可能...
下面将分别介绍压缩包中涉及的几个关键知识点。 1. UIImageView:UIImageView是用来展示图片的控件,常用于应用启动图、背景图或者图标显示。你可以设置其显示模式(如填充、居中等),调整图片的透明度,并通过...
CocoaPods是iOS开发中最常用的依赖管理工具。它可以方便地管理第三方库和框架,简化了项目的配置过程。使用方法包括安装CocoaPods、创建Podfile文件并指定依赖项,然后执行`pod install`命令来安装所需的库。 #### ...
在实际的项目开发中总是有几个比较常见的模板,小编这几天给大伙出几期常用模板的博客,希望大家多提宝贵的意见! 这几个月最常用的莫过于Nav+UITabBar模板了;在实际的项目中,我比较侧重于纯代码,比较不喜欢拖...
虽然部分原文内容并未给出具体章节或内容,但从标题和描述中我们可以推测这本书可能涵盖的几个关键知识点。 ### 一、iOS开发环境搭建与配置 - **Xcode介绍**:Xcode是苹果官方提供的集成开发环境(IDE),是进行...
在实际开发中,要利用这些源码实现AirPlay功能,你需要熟悉Bonjour服务发现和HTTP/RTSP协议,同时掌握Objective-C或Swift编程,因为这是iOS开发的主要语言。在`testAirplayDll.cpp`中,你可能需要找到初始化AirPlay...
3. Objective-C基础:Objective-C是较早被用于iOS开发的语言,一些老旧项目可能还在使用。了解其基础语法,包括类和继承、消息传递、内存管理等。 4. 用户界面设计:掌握UIKit框架,了解如何使用视图、控件、动画和...
- iOS应用程序的生命周期分为几个阶段:未运行、后台、前台、暂停、终止。每个阶段都有相应的回调方法,开发者可以通过这些方法来执行特定的操作,比如保存数据、释放资源等。 - **application...
在iOS开发中,创建一个`UITabBarController`是构建用户界面的重要步骤,它允许用户通过底部的选项卡在多个视图控制器之间切换。本教程将深入讲解如何从零开始创建一个`UITabBarController`,主要关注源码实现和工具...
在游戏开发部分,本书将通过几个具体的项目案例来指导读者实战操作。例如,在“找茬”和“黄金矿工”项目中,本书将引导读者进行需求描述、需求分析、技术点分析、数据设计以及编码实现。在这些案例中,读者将会了解...
为了实现这些功能,我们需要掌握以下几个关键概念和技巧: 1. 数据模型:构建一个数据模型来存储图表的数据,通常包括X轴和Y轴的值,以及可能的附加信息,如颜色、标签等。 2. 视图渲染:将数据模型转换为可视化的...
同时,Model-View-Controller(MVC)设计模式是iOS开发中的常用架构,它将应用分为模型、视图和控制器三个部分,帮助组织代码并提高可维护性。 六、用户界面设计 iOS应用的用户体验(UX)和用户界面(UI)设计非常...
MBProgressHUD 是一款在 iOS 开发中常用的进度指示器库,它提供了一种优雅的方式来显示加载状态、提示信息或者简单的操作反馈。这个库以其简洁的API和高度可定制性而备受开发者喜爱。在标题提到的“不一样的...