1、設定tableview返回時取消選中狀態
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self.tableview deselectRowAtIndexPath:self.tableview.indexPathForSelectedRow animated:YES];
}
2、設定UIPickerView預設選中
[pickerView selectRow:5 inComponent:0 animated:NO];
3、設定應用電池欄顏色
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackOpaque];
4、檢測網路連接狀態 (添加SystemConfiguration.framework 和Reachability.h 和Reachability.m)
if (([Reachability reachabilityForInternetConnection].currentReachabilityStatus == NotReachable) &&
([Reachability reachabilityForLocalWiFi].currentReachabilityStatus == NotReachable)) {
NSLog(@"無網路連接");
}
5、圖片縮放
UIImage *image = [[UIImage alloc] initWithData:self.activeDownload];
if (image.size.width != kAppIconHeight && image.size.height != kAppIconHeight)
{
CGSize itemSize = CGSizeMake(kAppIconHeight, kAppIconHeight);
UIGraphicsBeginImageContext(itemSize);
CGRect imageRect = CGRectMake(0.0, 0.0, itemSize.width, itemSize.height);
[image drawInRect:imageRect];
self.appRecord.appIcon = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
}
else
{
self.appRecord.appIcon = image;
}
6、設定UIWenview背景透明的方法
webview.backgroundColor = [UIColor clearColor];
webview.opaque = NO;
在 網頁裡設定:
<body style="background-color: transparent">
7、js控制UIWebvie
js裡:
<script>
function jump()
{
var clicked=true;
window.location="/clicked"; //改變URL 注意:要使用"/"分隔字元
alert("js alert :jump");
}
</script>
oc裡:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
//擷取URL並且做比較,判斷是否觸發了JS事件,注意有"/"
if ([request.mainDocumentURL.relativePath isEqualToString:@"/clicked"]) {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"you click me" message:@"clicked" delegate:nilcancelButtonTitle:@"sure" otherButtonTitles:@"cancel", nil];
[alertView show];
[alertView release];
return false;
}
return true;
}
8、UIWebview載入本地html
- NSString *path = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];
- [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:path]]];
9、設定UIwebview 縮放係數
UIWebView類沒有修改縮放係數的方法,我們只能用HTML代碼來做。Meta標籤可以設定viewport,而viewport就包含了初始化縮放係數的參數。
META標籤如下所示:
<meta name="viewport"content="minimum-scale=0.6; maximum-scale=5; initial-scale=1; user-scalable=yes; width=640">
可以使用的參數有:
- minimum-scale:
允許縮放的最小倍數。預設為0.25,允許值為0-10。
- maximum-scale:
運行縮放的最大倍數。預設1.6,允許值為0-10。
- initial-scale:
當web頁被載入,還未被使用者縮放之前預設的縮放係數。預設值是自動根據頁面大小和可用性區域域計算出來的,但這個值最終會在最小倍數到最大倍數之間。
- user-scalable
是否運行使用者縮放該web頁。
- width:
viewpoint的寬。預設為980像素(iPhone)。允許值為200-10000 。”device-width”表示裝置寬度(iPhone為320,iPad為768)。注意device width不等於使用者介面的寬度。裝置寬度總是裝置處於人像模式下的寬度(螢幕方向為正向)。如果我們想增加web頁的最大縮放係數(預設1.6),我們只需要在HTML代碼中增加META標籤,指定maximum-scale屬性即可。你可以直接在HTML原始碼中加入META標籤。如果web頁來自internet並且無法修改HTML原始碼,你可以用Javascript代碼建立META標籤並附加到web頁的HTML代碼中。讀完剩下的內容,你就知道怎麼做了。
- height:
viewport的高。通常是根據width計算的。
10、點擊home鍵觸發AppDelegate.m中的
- (void)applicationWillResignActive:(UIApplication *)application
11、NSData 與NSString 互轉
NSData* xmlData = [@"testdata" dataUsingEncoding:NSUTF8StringEncoding];
NSString *result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
12、圖片轉圓角
首先匯入標頭檔:#import <QuartzCore/QuartzCore.h>
UIImageView * headerImage = [[UIImageView alloc] initWithFrame:CGRectMake(10.0, 10.0, 64.0, 64.0)];
headerImage.image = contactPhoto;
CALayer * layer = [headerImage layer];
[layer setMasksToBounds:YES];
[layer setCornerRadius:10.0];
[layer setBorderWidth:1.0];
[layer setBorderColor:[[UIColor blackColor] CGColor]];
[contactHeader addSubview:headerImage];
13、將圖片儲存到相簿的代碼
UIImageWriteToSavedPhotosAlbum(Uiimage, nil, nil, nil);
14、去掉tableview 的線
[self.tableview setSeparatorStyle:UITableViewCellSeparatorStyleNone];
15、UILable文字加陰影
titleText.shadowColor = [UIColor blackColor];
titleText.shadowOffset = CGSizeMake(0, -1.0);
16、plist檔案轉NSDictionary
NSBundle *bundle = [NSBundle mainBundle];
//取得檔案路徑
NSString *plistPath = [bundle pathForResource:@"cityData" ofType:@"plist"];
//讀取到一個NSDictionary
cityDictionary = [[NSDictionary alloc] initWithContentsOfFile:plistPath];
17、隱藏tabbar
- (void) hideTabBar:(BOOL) hidden {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0];
for(UIView *view in self.tabBarController.view.subviews)
{
if([view isKindOfClass:[UITabBar class]])
{
if (hidden) {
[view setFrame:CGRectMake(view.frame.origin.x, 480, view.frame.size.width, view.frame.size.height)];
} else {
[view setFrame:CGRectMake(view.frame.origin.x, 480-49, view.frame.size.width, view.frame.size.height)];
}
}
else
{
if (hidden) {
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 480)];
} else {
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 480-49)];
}
}
}
[UIView commitAnimations];
}