iphone开发常用代码笔记
1、显示图像:
1
2
3
4
5
6
|
CGRect myImageRect = CGRectMake(0.0f, 0.0f, 320.0f, 109.0f); UIImageView *myImage = [[UIImageView alloc] initWithFrame:myImageRect]; [myImage setImage:[UIImage imageNamed:@ "myImage.png" ]]; myImage.opaque = YES ; //opaque是否透明[self.view addSubview:myImage]; [myImage release]; |
2、更改cell选中的背景
1
2
3
4
|
UIView *myview = [[UIView alloc] init]; myview.frame = CGRectMake(0, 0, 320, 47); myview.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@ "0006.png" ]]; cell.selectedBackgroundView = myview; |
3、用NSString怎么把UTF8转换成unicode
1
2
|
utf8Str // NSString *unicodeStr = [ NSString stringWithCString:[utf8Str UTF8String] encoding: NSUnicodeStringEncoding ]; |
4、WebView:
1
2
3
4
5
6
7
8
9
|
CGRect webFrame = CGRectMake(0.0, 0.0, 320.0, 460.0); UIWebView *webView = [[UIWebView alloc] initWithFrame:webFrame]; [webView setBackgroundColor:[UIColor whiteColor]]; NSString *urlAddress = @ "http://www.google.com" ; NSURL *url = [ NSURL URLWithString:urlAddress]; NSURLRequest *requestObj = [ NSURLRequest requestWithURL:url]; [webView loadRequest:requestObj]; [ self addSubview:webView]; [webView release]; |
5、动画:一个接一个地显示一系列的图象
1
2
3
4
5
6
7
8
9
|
NSArray *myImages = [ NSArray arrayWithObjects: [UIImage imageNamed:@ "myImage1.png" ], [UIImage imageNamed:@ "myImage2.png" ], [UIImage imageNamed:@ "myImage3.png" ], [UIImage imageNamed:@ "myImage4.gif" ], nil ]; UIImageView *myAnimatedView = [UIImageView alloc]; [myAnimatedView initWithFrame:[ self bounds]]; myAnimatedView.animationImages = myImages; //animationImages属性返回一个存放动画图片的数组 myAnimatedView.animationDuration = 0.25; //浏览整个图片一次所用的时间 myAnimatedView.animationRepeatCount = 0; // 0 = loops forever 动画重复次数 [myAnimatedView startAnimating]; [ self addSubview:myAnimatedView]; [myAnimatedView release]; |
6、动画:显示了something在屏幕上移动。注:这种类型的动画是“开始后不处理” -你不能获取任何有关物体在动画中的信息(如当前的位置) 。如果您需要此信息,您会手动使用定时器去调整动画的X和Y坐标
这个需要导入QuartzCore.framework
1
2
3
4
5
6
7
8
9
10
|
CABasicAnimation *theAnimation; theAnimation=[CABasicAnimation animationWithKeyPath:@ "transform.translation.x" ]; //Creates and returns an CAPropertyAnimation instance for the specified key path. //parameter:the key path of the property to be animated theAnimation.duration=1; theAnimation.repeatCount=2; theAnimation.autoreverses= YES ; theAnimation.fromValue=[ NSNumber numberWithFloat:0]; theAnimation.toValue=[ NSNumber numberWithFloat:-60]; [view.layer addAnimation:theAnimation forKey:@ "animateLayer" ]; |
7、Draggable items//拖动项目
Here's how to create a simple draggable image.//这是如何生成一个简单的拖动图象
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
1. Create a new class that inherits from UIImageView @interface myDraggableImage : UIImageView { } 2. In the implementation for this new class , add the 2 methods: - ( void ) touchesBegan:( NSSet *)touches withEvent:(UIEvent*)event { // Retrieve the touch point 检索接触点 CGPoint pt = [[touches anyObject] locationInView: self ]; startLocation = pt; [[ self superview] bringSubviewToFront: self ]; } - ( void ) touchesMoved:( NSSet *)touches withEvent:(UIEvent*)event { // Move relative to the original touch point 相对以前的触摸点进行移动 CGPoint pt = [[touches anyObject] locationInView: self ]; CGRect frame = [ self frame]; frame.origin.x += pt.x - startLocation.x; frame.origin.y += pt.y - startLocation.y; [ self setFrame:frame]; } 3. Now instantiate the new class as you would any other new image and add it to your view //实例这个新的类,放到你需要新的图片放到你的视图上 dragger = [[myDraggableImage alloc] initWithFrame:myDragRect]; [dragger setImage:[UIImage imageNamed:@ "myImage.png" ]]; [dragger setUserInteractionEnabled: YES ]; |
8、Plist files
Application-specific plist files can be stored in the Resources folder of the app bundle. When the app first launches, it should check if there is an existing plist in the user's Documents folder, and if not it should copy the plist from the app bundle.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
// Look in Documents for an existing plist file NSArray *paths = NSSearchPathForDirectoriesInDomains ( NSDocumentDirectory , NSUserDomainMask , YES ); NSString *documentsDirectory = [paths objectAtIndex:0]; myPlistPath = [documentsDirectory stringByAppendingPathComponent: [ NSString stringWithFormat: @ "%@.plist" , plistName] ]; [myPlistPath retain]; // If it's not there, copy it from the bundle NSFileManager *fileManger = [ NSFileManager defaultManager]; if ( ![fileManger fileExistsAtPath:myPlistPath] ) { NSString *pathToSettingsInBundle = [[ NSBundle mainBundle] pathForResource:plistName ofType:@ "plist" ]; } //Now read the plist file from Documents NSArray *paths = NSSearchPathForDirectoriesInDomains ( NSDocumentDirectory , NSUserDomainMask , YES ); NSString *documentsDirectoryPath = [paths objectAtIndex:0]; NSString *path = [documentsDirectoryPath stringByAppendingPathComponent:@ "myApp.plist" ]; NSMutableDictionary *plist = [ NSDictionary dictionaryWithContentsOfFile: path]; //Now read and set key/values myKey = ( int )[[plist valueForKey:@ "myKey" ] intValue]; myKey2 = ( bool )[[plist valueForKey:@ "myKey2" ] boolValue]; [plist setValue:myKey forKey:@ "myKey" ]; [plist writeToFile:path atomically: YES ]; |
9、Alerts
Show a simple alert with OK button.
1
2
3
4
|
UIAlertView *alert = [[UIAlertView alloc] initWithTitle: nil message: @ "An Alert!" delegate: self cancelButtonTitle:@ "OK" otherButtonTitles: nil ]; [alert show]; [alert release]; |