- 浏览: 685019 次
- 性别:
- 来自: 深圳
最新评论
-
fingerplay:
请问一下,第一份,逻辑树,就是代码里可以操纵的,例如更改lay ...
UIView与CALayer -
ok_lyc:
分享到哪里去了
iPhoneUIFont各种字体 -
lliiqiang:
我的个人理解:wait方法是在java虚拟机层面上在获取对象锁 ...
JAVA多线程同步wait、notify、synchronized -
milixw:
谢谢分享,就在找这个
iphone 推送通知 java 实现 -
wsqwsq000:
你的log4j包不行,上网搜一下:log4j-1.2.16.j ...
iphone 推送通知 java 实现
1.将view设置成圆角
首先导入QuartzCore.framework,#import <QuartzCore/QuartzCore.h>
然后添加下面两行代码:
view.layer.cornerRadius = 8;//圆角
view.layer.masksToBounds = YES;//在所在的层绘制圆角
2.把UIColor转换为CGColor
UIColor *redColor = [UIColor redColor];
CGColor *RedColor = redColor.CGColor;
3.CALayer就是层,这个层你随便控制他的大小,旋转,角度,坐标变化或者内容之类的信息,这些变化还可以通过动画表现出来。UIView所有你 能看到的显示的内容,后面都有一个Layer。下面来自定义添加一个CALayer。
CALayer *layer = [[CALayer alloc] init];//定义一个layer
CGRect aa = CGRectMake(10, 30, 240, 240);//设置该layer的坐标和大小
layer.frame = aa;
UIColor *c = [UIColor redColor];
[layer setBackgroundColor:(c.CGColor)];//设置该layer的背景,因为layer setBackgroundColor用到的是CGColor所以要进行一次转换
[self.view.layer insertSublayer:layer atIndex:0];//在self view中添加该layer
4.从网络下载图片并显示
NSURL *url = [NSURL URLWithString:@"XXXX"];
NSData *picData = [NSData dataWithContentsOfURL:url];
UIImage *img = [UIImage imageWithData:picData];
[imageView setImage:img];
5.Objective-C中切分数组
使用-componentsSeparatedByString:来切分NSArray。 如:
NSString *string = @”white:black:blue:red”;
NSArray *aArray = [string componentsSeparatedByString:@":"];
用-componentsJoinedByString:来合并NSArray中的各个元素并创建一个新的字符串,如:
string = [aArray componentsJoinedByString:@","];
这样,上面的数组就中的各个元素就以”,”分割形成一个字符串。
6.去除nsstring中的空格,table 以及newline,nextline
NSCharacterSet *whitespace = [NSCharacterSet whitespaceAndNewlineCharacterSet];
NSString *username = [mUsernameField stringValue];
username = [username stringByTrimmingCharactersInSet:whitespace];
7.如果在程序中想对某张图片进行处理的话(得到某张图片的一部分)可一用以下代码:
UIImage *image = [UIImageimageNamed:filename];
CGImageRef imageRef = image.CGImage;
CGRect rect = CGRectMake(origin.x, origin.y ,size.width, size.height);
CGImageRef imageRefRect = CGImageCreateWithImageInRect(imageRef, rect);
UIImage *imageRect = [[UIImagealloc] initWithCGImage:imageRefRect];
8.判断设备是iphone还是iphone4的代码:
#define isRetina ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 960), [[UIScreen mainScreen] currentMode].size) : NO)
9.判断邮箱输入的是否正确
- (BOOL) validateEmail: (NSString *) candidate {
NSString*emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
NSPredicate *emailTest = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@", emailRegex];
return [emailTest evaluateWithObject:candidate];
}
10.如何把当前的视图作为照片保存到相册中去
#import <QuartzCore/QuartzCore.h>
UIGraphicsBeginImageContext(currentView.bounds.size); //currentView当前的view
[currentView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);
11.本地通知(类似于push通知)按home键到后台十秒后触发
UILocalNotification *notification=[[UILocalNotificationalloc] init];
if (notification!=nil) {
NSLog(@">> support local notification");
NSDate *now=[NSDatenew];
notification.fireDate=[now addTimeInterval:10];
notification.timeZone=[NSTimeZonedefaultTimeZone];
notification.alertBody=@"该去吃晚饭了!";
[[UIApplication sharedApplication].scheduleLocalNotification:notification];
}
12.捕获iphone通话事件
CTCallCenter *center = [[CTCallCenter alloc] init];
center.callEventHandler = ^(CTCall *call)
{
NSLog(@"call:%@", call.callState);
}
13.使UIimageView的图像旋转
float rotateAngle = M_PI;
CGAffineTransform transform =CGAffineTransformMakeRotation(rotateAngle);
imageView.transform = transform;
14.设置旋转的原点
#import <QuartzCore/QuartzCore.h>
UIImageView *imageView = [[UIImageViewalloc] initWithImage:[UIImageimageNamed:@"bg.png"]];
imageView.layer.anchorPoint = CGPointMake(0.5, 1.0);
15.实现自定义的状态栏(遮盖状态栏)
CGRect frame = {{0, 0}, {320, 20}};
UIWindow* wd = [[UIWindowalloc] initWithFrame:frame];
[wd setBackgroundColor:[UIColor clearColor]];
[wdsetWindowLevel:UIWindowLevelStatusBar];
frame = CGRectMake(100, 0, 30, 20);
UIImageView* img = [[UIImageViewalloc] 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];
16.在程序中实现电话的拨打
//添加电话图标按钮
UIButton *btnPhone = [[UIButton buttonWithType:UIButtonTypeCustom] retain];
btnPhone.frame = CGRectMake(280,10,30,30);
UIImage *image = [UIImageimageNamed:@"phone.png"];
[btnPhone setBackgroundImage:image forState:UIControlStateNormal];
//点击拨号按钮直接拨号
[btnPhone addTarget:self action:@selector(callAction:event:) forControlEvents:UIControlEventTouchUpInside];
[cell.contentViewaddSubview: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 = [[NSStringalloc] initWithFormat:@"tel://%@",number]; //number为号码字符串
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:num]];//拨号
}
17.更改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];
}
}
}
18.设置时区
NSTimeZone *defaultTimeZone = [NSTimeZonedefaultTimeZone];
NSTimeZone *tzGMT = [NSTimeZone timeZoneWithName:@"GMT"];
[NSTimeZone setDefaultTimeZone:tzGMT];
上面两个时区任意用一个。
19.Ipad隐藏键盘的同时触发方法
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillHide:)
name:UIKeyboardWillHideNotification
object:nil];
- (IBAction)keyboardWillHide:(NSNotification *)note
20.iPhone的图片调整,移动,旋转
iPhone使用触摸技术,通过手指可以对图片进行移动、放大缩小、旋转等,本文介绍该技术的实现。
首先在头文件中定义委托UIGestureRecognizerDelegate,进行手势识别的处理
@interface StampDetailViewController : UIViewController
然后在执行文件中添加处理函数
// adds a set of gesture recognizers to one of our piece subviews
- (void)addGestureRecognizersToPiece:(UIView *)piece
{
UIRotationGestureRecognizer *rotationGesture = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotatePiece:)];
[piece addGestureRecognizer:rotationGesture];
[rotationGesture release];
UIPinchGestureRecognizer *pinchGesture = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(scalePiece:)];
[pinchGesture setDelegate:self];
[piece addGestureRecognizer:pinchGesture];
[pinchGesture release];
UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panPiece:)];
[panGesture setMaximumNumberOfTouches:2];
[panGesture setDelegate:self];
[piece addGestureRecognizer:panGesture];
[panGesture release];
}
// scale and rotation transforms are applied relative to the layer's anchor point
// this method moves a gesture recognizer's view's anchor point between the user's fingers
- (void)adjustAnchorPointForGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer {
if (gestureRecognizer.state == UIGestureRecognizerStateBegan) {
UIView *piece = gestureRecognizer.view;
CGPoint locationInView = [gestureRecognizer locationInView:piece];
CGPoint locationInSuperview = [gestureRecognizer locationInView:piece.superview];
}
}
#pragma mark -
#pragma mark === Touch handling ===
#pragma mark
// shift the piece's center by the pan amount
// reset the gesture recognizer's translation to {0, 0} after applying so the next callback is a delta from the current position
- (void)panPiece:(UIPanGestureRecognizer *)gestureRecognizer
{
UIView *piece = [gestureRecognizer view];
[self adjustAnchorPointForGestureRecognizer:gestureRecognizer];
if ([gestureRecognizer state] == UIGestureRecognizerStateBegan || [gestureRecognizer state] == UIGestureRecognizerStateChanged) {
CGPoint translation = [gestureRecognizer translationInView:[piece superview]];
[piece setCenter:CGPointMake([piece center].x + translation.x, [piece center].y + translation.y)];
[gestureRecognizer setTranslation:CGPointZero inView:[piece superview]];
}
}
// rotate the piece by the current rotation
// reset the gesture recognizer's rotation to 0 after applying so the next callback is a delta from the current rotation
- (void)rotatePiece:(UIRotationGestureRecognizer *)gestureRecognizer
{
[self adjustAnchorPointForGestureRecognizer:gestureRecognizer];
if ([gestureRecognizer state] == UIGestureRecognizerStateBegan || [gestureRecognizer state] == UIGestureRecognizerStateChanged) {
[gestureRecognizer view].transform = CGAffineTransformRotate([[gestureRecognizer view] transform], [gestureRecognizer rotation]);
[gestureRecognizer setRotation:0];
}
}
// scale the piece by the current scale
// reset the gesture recognizer's rotation to 0 after applying so the next callback is a delta from the current scale
- (void)scalePiece:(UIPinchGestureRecognizer *)gestureRecognizer
{
[self adjustAnchorPointForGestureRecognizer:gestureRecognizer];
if ([gestureRecognizer state] == UIGestureRecognizerStateBegan || [gestureRecognizer state] == UIGestureRecognizerStateChanged) {
[gestureRecognizer view].transform = CGAffineTransformScale([[gestureRecognizer view] transform], [gestureRecognizer scale], [gestureRecognizer
scale]);
[gestureRecognizer setScale:1];
}
}
最后将此类手势处理函数与需要变化的图片视图联系起来
[self addGestureRecognizersToPiece:myImage];
发表评论
-
iphone开发如何后台播放音频
2012-12-25 14:38 1618<!--?xml version="1.0&q ... -
iPhone开发中使用AVAudioPlayer出现内存泄漏的解决办法
2012-12-25 11:53 3377最近在使用AVAudioPlayer播放音频时,发现 ... -
dispatch多线程
2012-10-31 20:45 1498#define kBgQueue dispat ... -
iPhone开发使用数组排序
2012-10-30 19:18 1820我们以数组的排序为例(也许NSSortDes ... -
用containsObject判断是否存在的问题
2012-10-16 15:37 4605在NSArray或NSMutableArray中想使用c ... -
用NSZombieEnabled解决恼人的EXC_BAD_ACCESS错误
2012-09-17 10:30 1414转载自:http://longtimenoc.com/a ... -
使用xib加载视图后,在dealloc中crash
2012-09-08 11:20 1805最近遇到个问题,就是使用xib加载视图后,经常会 ... -
iPhone中如何获取当前输入法
2012-09-06 16:28 1730如题,在iPhone开发中,我们如何获取当前的输入 ... -
objectForKey和valueForKey的区别
2012-08-24 17:23 2194valueforkey和objectforkey区别 ... -
粒子发射系统中的CAEmitterLayer
2012-08-22 16:00 2554简介:CAEmitterLayer提供了一个基于 ... -
iPhone开发使用UILineBreakMode不精确
2012-07-26 12:02 1579一开始用UILineBre ... -
Xcode方法提示不显示的解决办法
2012-07-24 09:45 1647Xcode方法提示显示的不正确,只显示方法 ... -
NSArray的排序功能sortedArrayUsingSelector
2012-07-18 17:54 2275- (NSArray *)sortedArrayUs ... -
iPhoneUIFont各种字体
2012-07-24 09:45 1631苹果开发者们想在应用中使用不同字体的话,往往会发现 ... -
iPhone使用ASIHTTPRequest请求时,发送了2次请求
2012-07-24 09:45 2580前段时间用到ASIHTTPRequest做请求时, ... -
iPhone开发调用新浪微博OAuth2.0
2012-06-05 02:30 3132就像题目说的,这次的小项目是做一个新浪微博的客 ... -
Iphone cover flow 开源实现
2012-06-04 00:04 929tapkulibrary-CloverFlow ... -
ASIHTTPRequest下载示例(支持断点续传)
2012-07-24 09:45 1628在工程中,我们会常常遇到需要下载的程序,比 ... -
ASIHTTPRequest类库简介和使用说明
2012-07-24 09:45 1735文章转载自:http: ... -
NSUserDefaults 用户偏好设定保存自定义类(序列化)
2012-04-17 23:30 0NSUserDefaults 用户偏好设定保存 ...
相关推荐
Iphone开发系列源码——Iphone主题源码Iphone开发系列源码——Iphone主题源码Iphone开发系列源码——Iphone主题源码Iphone开发系列源码——Iphone主题源码Iphone开发系列源码——Iphone主题源码Iphone开发系列源码...
根据提供的文件信息,本文将对“iPhone开发实战”这一主题进行深入探讨,涵盖iPhone应用开发的基础概念、开发环境搭建、关键技术点以及实际案例分析等方面。 ### 一、iPhone开发概述 #### 1.1 iPhone应用开发简介 ...
Iphone开发系列源码——iPhone版Wordpress源代码Iphone开发系列源码——iPhone版Wordpress源代码Iphone开发系列源码——iPhone版Wordpress源代码Iphone开发系列源码——iPhone版Wordpress源代码Iphone开发系列源码...
这里推荐两本书《objective-c基础教程》和《iphone开发基础教程》,这两本都是圣经级的巨作,我相信每一个iphone开发人员应该都不会错过这两本书的。 等你xcode和objective-c摸熟之后,或者说,上面提到的那两...
Iphone开发系列源码——Image图片缩放随着手指Iphone开发系列源码——Image图片缩放随着手指Iphone开发系列源码——Image图片缩放随着手指Iphone开发系列源码——Image图片缩放随着手指Iphone开发系列源码——Image...
《iPhone开发基础教程》内容完整丰富,具有较强的通用性,编程领域中各层次读者都能通过《iPhone开发基础教程》快速学习iPhone开发,提高相关技能。iPhone 是一种全新的移动平台,苹果公司为它推出了强大的软件开发...
《iPhone3开发基础教程》是针对初学者的一本详尽指南,旨在引领读者探索iPhone SDK,深入了解iPhone和iPod touch编程。本书由Dave Mark与Jeff LaMarche共同编写,为第三版更新修订版,专为iOS开发新手设计,涵盖了...
《轻松学iPhone开发》这本书是为想要进入iOS应用开发领域的初学者精心编写的。它旨在以轻松易懂的方式,引导读者逐步了解并掌握iPhone应用程序的开发技能。书中的内容主要分为三部分,每一部分都围绕着不同的学习...
【iPhone开发环境搭建】 搭建iPhone开发环境是iOS应用开发的第一步,主要涉及到在特定的操作系统环境下安装必要的开发工具。由于iPhone应用只能在苹果公司的Mac OS X系统上开发,因此,你需要准备一个运行Mac OS X...
资源名称:iPhone开发入门到精通视频教程资源目录:【】iOS开发源码系列---工具【】iOS开发源码系列---应用【】iOS开发源码系列---游戏【】iOS开发源码系列---类库与框架【】iOS开发真机测试与发布【】iOS开发视频...
Iphone开发系列源码——多功能播放器源码Iphone开发系列源码——多功能播放器源码Iphone开发系列源码——多功能播放器源码Iphone开发系列源码——多功能播放器源码Iphone开发系列源码——多功能播放器源码Iphone开发...
知名的Head First系列丛书之一,风格与其他Head First系列一脉相承,一定能让读者轻松学会iPhone开发,《深入浅出iPhone开发》是针对iPhone开发的初学者设计的,以几个应用实例的开发为例,循序渐进地对iPhone开发的...
Iphone开发系列源码——星级评价实现代码Iphone开发系列源码——星级评价实现代码Iphone开发系列源码——星级评价实现代码Iphone开发系列源码——星级评价实现代码Iphone开发系列源码——星级评价实现代码Iphone开发...
本书全面探讨了iPhone平台的两种编程方式——Web开发和SDK编程。全在Web开发方面,分别介绍了三个iPhone Web库,即WebKit、iUI和Canvas,并讨论了Web开发环境Dashcode,最后阐述Web应用程序的调试。在SDK开发方面,...
《深入浅出iPhone开发》是一本专为iPhone应用程序开发初学者编写的指南,旨在通过实际应用案例,系统地介绍iOS开发的各项技术。本书的核心目标是让读者能够从零基础逐步掌握开发iPhone应用所需的知识和技能。 在iOS...
资源名称:iphone开发视频教程资源目录:【】iphone开发视频教程第1集 Mac.OS.X,Cocoa,Touch,Objective-C【】iphone开发视频教程第2集 各种基础的类,功能,对象和实例的介绍【】iphone开发视频教程第3集 如何创建你...
### 相关知识点 #### 1. **游戏开发基础概念** ...通过上述知识点的学习,即便是没有编程经验的新手也能逐步理解和掌握iPhone应用开发的基本流程和技术要点。这对于希望进入IT行业的人员来说是一笔宝贵的财富。
《iPhone开发实战》是一本专为想要学习和精通iPhone应用开发的程序员编写的实践性教程。这本书涵盖了iOS应用开发的各个方面,从基础的Swift编程语言到Apple的UIKit框架,再到实际项目开发的完整流程。书中的源码是...
《iPhone开发基础教程-PDF版》是一份专为初学者设计的全面指南,旨在帮助读者掌握iOS应用开发的基础知识和技能。本教程涵盖了从安装开发环境到创建第一个应用的全过程,深入浅出地讲解了iPhone应用程序开发的核心...