iOS常用代码总结
1.讀取圖片NSString *path = [[NSBundle mainBundle] pathForResource"icon" ofType"png"];
myImage = [UIImage imageWithContentsOfFile:path];
?
2.更改cell選中的背景
UIView *myview = [[UIView alloc] init];
myview.frame = CGRectMake(0, 0, 320, 47);
myview.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed"0006.png"]];
cell.selectedBackgroundView = myview;
?
?
3.在數字鍵盤上添加button:
//定義一個消息中心
[[NSNotificationCenter defaultCenter] addObserver:self selectorselector(keyboardWillShow name:UIKeyboardWillShowNotification object:nil]; //addObserver:注冊一個觀察員name:消息名稱
- (void)keyboardWillShowNSNotification *)note {
// create custom button
UIButton *doneButton = [UIButton buttonWithType:UIButtonTypeCustom];
doneButton.frame = CGRectMake(0, 163, 106, 53);
[doneButton setImage:[UIImage imageNamed"5.png"] forState:UIControlStateNormal];
[doneButton addTarget:self actionselector(addRadixPoint) forControlEvents:UIControlEventTouchUpInside];
// locate keyboard view
UIWindow* tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:1];//返回應用程序window
UIView* keyboard;
for(int i=0; i<[tempWindow.subviews count]; i++) //遍歷window上的所有subview
{
keyboard = [tempWindow.subviews objectAtIndex:i];
// keyboard view found; add the custom button to it
if([[keyboard description] hasPrefix"<UIKeyboard"] == YES)
[keyboard addSubview:doneButton];
}
}
?
?
4.webview從本地加載圖片
NSString *boundle = [[NSBundle mainBundle] resourcePath];
[web1 loadHTMLString:[NSString stringWithFormat"<img src="http://archive.cnblogs.com/a/2539787/0001.png" rel="nofollow"/>
?
?
5.從網頁加載圖片并讓圖片在規定長寬中縮小
[cell.img loadHTMLString:[NSString stringWithFormat"<html><body><img src="http://archive.cnblogs.com/a/2539787/%25@" rel="nofollow"/>
將網頁加載到webview上通過javascript獲取里面的數據,如果只是發送了一個連接請求獲取到源碼以后可以用正則表達式進行獲取數據
NSString *javaScript1 = @"document.getElementsByName('.u').item(0).value";
NSString *javaScript2 = @"document.getElementsByName('.challenge').item(0).value";
NSString *strResult1 = [NSString stringWithString:[theWebView stringByEvaluatingJavaScriptFromString:javaScript1]];
NSString *strResult2 = [NSString stringWithString:[theWebView stringByEvaluatingJavaScriptFromString:javaScript2]];
?
?
6.用NSString怎么把UTF8轉換成unicode
utf8Str //
NSString *unicodeStr = [NSString stringWithCString:[utf8Str UTF8String] encoding:NSUnicodeStringEncoding];
?
?
7.View自己調用自己的方法:
[self performSelectorselector(loginToNext) withObject:nil afterDelay:2];//黃色段為方法名,和延遲幾秒執行.
?
?
8.顯示圖像:
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];
WebView:
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];
?
?
?
9.顯示網絡活動狀態指示符?
這是在iPhone左上部的狀態欄顯示的轉動的圖標指示有背景發生網絡的活動。
UIApplication* app = [UIApplication sharedApplication];
app.networkActivityIndicatorVisible = YES;
?
?
?
10.動畫:一個接一個地顯示一系列的圖象
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];
動畫:顯示了something在屏幕上移動。注:這種類型的動畫是“開始后不處理” -你不能獲取任何有關物體在動畫中的信息(如當前的位置)。如果您需要此信息,您會手動使用定時器去調整動畫的X和Y坐標
這個需要導入QuartzCore.framework
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"];
?
?
11.
Draggable items//拖動項目
Here's how to create a simple draggable image.//這是如何生成一個簡單的拖動圖象
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) touchesBeganNSSet*)touches withEventUIEvent*)event
{
// Retrieve the touch point檢索接觸點
CGPoint pt = [[touches anyObject] locationInView:self];
startLocation = pt;
[[self superview] bringSubviewToFront:self];
}
- (void) touchesMovedNSSet*)touches withEventUIEvent*)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];
?
?
?
12.線程:
1. Create the new thread:
[NSThread detachNewThreadSelectorselector(myMethod) toTarget:self withObject:nil];
2. Create the method that is called by the new thread:
- (void)myMethod
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
*** code that should be run in the new thread goes here ***
[pool release];
}
//What if you need to do something to the main thread from inside your new thread (for example, show a loading //symbol)? Use performSelectorOnMainThread.
[self performSelectorOnMainThreadselector(myMethod) withObject:nil waitUntilDone:false];
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.
// 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];
Alerts
Show a simple alert with OK button.
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:
@"An Alert!" delegate:self cancelButtonTitle"OK" otherButtonTitles:nil];
[alert show];
[alert release];
Info button
Increase the touchable area on the Info button, so it's easier to press.
CGRect newInfoButtonRect = CGRectMake(infoButton.frame.origin.x-25, infoButton.frame.origin.y-25, infoButton.frame.size.width+50, infoButton.frame.size.height+50);
[infoButton setFrame:newInfoButtonRect];
Detecting Subviews
You can loop through subviews of an existing view. This works especially well if you use the "tag" property on your views.
for (UIImageView *anImage in [self.view subviews])
{
if (anImage.tag == 1)
{ // do something }
}
?
?
?
13.按住command+alt鍵,拖動,可創建快捷方式。
?
?
?
14.UITableViewCell選 中的自定義樣式
1.改變UITableViewCell選中時背景色
cell.selectedBackgroundView = [[[UIView alloc] initWithFrame:cell.frame] autorelease];
cell.selectedBackgroundView.backgroundColor = [UIColor xxxxxx];
2.自定義UITableViewCell選中時背景
cell.selectedBackgroundView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed"cellart.png"]] autorelease];
還有字體顏色
cell.textLabel.highlightedTextColor = [UIColor xxxcolor];
?
?
?
?
15.完全刪除xcode
sudo tmutil disablelocal
sudo /Developer/Library/uninstall-devtools --mode=all
sudo /Developer-3.2.2/Library/uninstall-devtools --mode=all
sudo tmutil enablelocal
?
?
?
16.lion下顯示隱藏文件夾 1
chflags nohidden ~/Library
轉載于:https://www.cnblogs.com/-yun/p/4547550.html
總結
- 上一篇: PHP的一些陷阱
- 下一篇: 【工作笔记】没有界面程序调用Active