`
ychaowei
  • 浏览: 692 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论
阅读更多
iphone开发中的一些小技巧
2011/03/28 14:08
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);
}
分享到:
评论

相关推荐

    iPhone4各种SHSH备份

    这篇文档将深入探讨iPhone 4设备的SHSH备份及其重要性。 首先,理解SHSH的含义至关重要。SHSH代表了设备当前系统状态的哈希值,由Apple的服务器计算得出。当用户尝试恢复或更新iOS设备时,Apple的验证服务器会检查...

    iPhone 11维修资料

    《iPhone 11维修资料详解》 在当今的科技时代,智能手机已经成为我们日常生活的重要组成部分,尤其是像iPhone 11和iPhone 11 Pro这样的高端设备。这些设备集成了先进的技术,为用户带来了卓越的体验。然而,随着...

    iphone13 ios ipcc52.0.zip

    标题 "iphone13 ios ipcc52.0.zip" 暗示了这可能是一个针对iPhone 13设备的iOS更新文件,其中包含了IPCC(International Provider Configuration)文件。IPCC文件是苹果设备用于设置运营商配置的重要文件,它通常...

    iPhone提示音大全

    在IT领域,特别是移动设备部分,苹果公司的iPhone一直以其独特的用户体验和设计著称。其中,iPhone的提示音是用户日常操作中不可或缺的一部分,它们为用户提供了一系列声音反馈,以告知用户各种事件的发生。在这个名...

    axure iphone手机元件库原型库

    此外,这个库可能还包含了iPhone的屏幕尺寸适配元素,例如针对不同尺寸的iPhone(如iPhone SE、iPhone 8、iPhone X系列)的布局和组件。 使用这个元件库,原型设计师无需从零开始绘制每个组件,可以直接拖放这些...

    iPhone4、iPhone4s、iPhone5、完美越狱工具包下载

    《iPhone4、iPhone4s、iPhone5 完美越狱工具包详解》 在iOS设备的世界里,"越狱"一词对许多用户而言并不陌生。越狱是指通过技术手段解除Apple公司对iPhone等设备的封闭系统限制,使得用户能够自定义设备、安装非App...

    axureiPhone机型元件库

    对于iPhone元件库,其涵盖了多种iPhone机型,例如iPhone SE、iPhone 6/6S/7/8系列、iPhone X/XS系列、iPhone XR、iPhone 11系列、iPhone 12系列以及iPhone 13系列等。这些模型不仅包括手机的外观,还可能包括屏幕...

    iPhone狂:约会iPhone

    《iPhone狂:约会iPhone》这本书是专为iPhone用户准备的实用手册,它旨在帮助用户快速掌握iPhone的各种使用技巧,同时提供了解决常见问题的方法。这本书的内容非常适合那些初次接触iPhone的用户,以及那些希望通过更...

    Axure元件库iPhone

    "Axure元件库iPhone"是专门为设计iPhone应用原型而定制的一套元件集合。该库不仅提高了设计效率,还确保了设计的准确性和一致性,因为这些元件都是按照iOS设备的界面规范和设计风格制作的。 首先,我们来看一下...

    iphone13通用ipcc49.0.zip

    标题中的“iphone13通用ipcc49.0.zip”表明这是一个与苹果iPhone 13设备相关的软件更新或配置文件,IPCC(International Provider Configuration)是Apple用来管理运营商设置的一种文件格式。这些设置通常涉及手机的...

    iphone4完整电路图PCB

    《iPhone 4 完整电路图PCB详解》 iPhone 4是苹果公司在2010年推出的一款标志性智能手机,其设计与技术在当时堪称业界领先。本篇将深入解析iPhone 4的完整电路图PCB(Printed Circuit Board),帮助读者理解这款设备...

    苹果Iphone原机铃声包

    【苹果iPhone原机铃声包】是一份专为苹果iPhone用户设计的资源集合,它包含了iPhone出厂时预装的一些经典铃声。这些铃声是苹果公司精心挑选并制作的,旨在提供用户多样化的选择,以满足不同用户的个性化需求。通过这...

    iPhone4S 5.1.1固件

    ### iPhone4S 5.1.1固件详解 #### 一、固件版本与设备兼容性 在本文档中,我们重点介绍的是iPhone 4S的5.1.1固件版本及其相关信息。固件是指设备上的底层操作系统,对于苹果设备而言,这通常指的是iOS系统的一个...

    电脑免费发表iPhone说说

    想在普通电脑上让你发表的空间说说显示来自iPhone嘛?火狐专用浏览器就可以实现这个效果!不但可以显示发布的说说来自iPhone触屏版,还可以显示iPad或android,绝对给力,不管你信不信,反正我是信了,我已经测试100%...

    macOS系统下将iPhone 备份到移动硬盘最新超详细版小白也能学会

    在macOS系统下,将iPhone备份到移动硬盘的过程可能对一些用户来说并不直观,因为苹果官方并未提供直接的设置选项。然而,通过一些手动操作和系统配置,这一目标是可以实现的。尤其对于那些经常需要备份iPhone数据,...

    原汁原味iPhone内置铃声大放送

    本主题聚焦于“原汁原味iPhone内置铃声大放送”,这表明我们将探讨如何获取、设置以及管理苹果iPhone设备上的内置及自定义铃声。 iPhone设备以其精致的设计和流畅的操作系统闻名,而其内置的铃声也是其特色之一。...

    iphone4s降级6.13

    本文主要介绍的是如何将iPhone 4S从iOS 7系统降级到iOS 6.1.3的详细教程。这个过程涉及到多个步骤,包括准备工作、电脑端的操作以及降级开始的具体操作。 首先,降级前的准备工作至关重要。用户需要下载并安装特定...

    iPhone三全音和音符

    在IT领域,特别是移动设备和音频处理方面,"iPhone三全音和音符"涉及到的是智能手机,尤其是苹果公司的iPhone设备中的自定义提示音设置。这些提示音是用户用来识别不同应用或事件声音的一种方式,增加了用户交互的...

    Iphone XS 电路原理图.pdf

    iPhone XS 电路原理图 iPhone XS 电路原理图是苹果公司生产的 iPhoneXS 手机的电路原理图。该图纸详细介绍了 iPhoneXS 手机的电路设计,包括电源管理、射频组件、天线设计、存储器设计、处理器设计等方面的技术细节...

    如何在iPhone(iOS13)上设置企业邮箱

    阿里云官网的帮助文档中,有关于企业邮箱在iPhone6(ios8)上如何设置的详细介绍,然而最近有小伙伴提到,iOS8已经过时了,这篇帮助文档已经不适用当下最新的iOS版本。那么下面我们就以目前最新的系统版本iOS13为例...

Global site tag (gtag.js) - Google Analytics