IOS 開發中小功能積累

來源:互聯網
上載者:User

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

 

 

  1. NSString *path = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];  
  2. [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];

}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.