1. 程式人生 > >iOS開發中一些實用小程式碼

iOS開發中一些實用小程式碼

  • 1.判斷郵箱格式是否正確的程式碼: //利用正則表示式驗證
        -(BOOL)isValidateEmail:(NSString *)email 
        { 
            NSString *emailRegex = @"[A-Z0-9a-z._%+-][email protected][A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"; 
            NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",emailRegex]; 
            return [emailTest evaluateWithObject:email]; 
        } 
    

  • 2.圖片壓縮

    用法:UIImage *yourImage= [self imageWithImageSimple:image scaledToSize:CGSizeMake(210.0, 210.0)]; //壓縮圖片
        - (UIImage*)imageWithImageSimple:(UIImage*)image scaledToSize:(CGSize)newSize 
        { 
            // Create a graphics image context 
            UIGraphicsBeginImageContext(newSize); 
             
            // Tell the old image to draw in this newcontext, with the desired 
            // new size 
            [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)]; 
             
            // Get the new image from the context 
            UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext(); 
             
            // End the context 
            UIGraphicsEndImageContext(); 
             
            // Return the new image. 
            return newImage; 
        } 
  • 3.親測可用的圖片上傳程式碼
        - (IBAction)uploadButton:(id)sender { 
            UIImage *image = [UIImage imageNamed:@"1.jpg"]; //圖片名 
            NSData *imageData = UIImageJPEGRepresentation(image,0.5);//壓縮比例 
            NSLog(@"位元組數:%i",[imageData length]); 
            // post url 
            NSString *urlString = @"http://192.168.1.113:8090/text/UploadServlet"; 
            //伺服器地址 
            // setting up the request object now 
            NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init] ; 
            [request setURL:[NSURL URLWithString:urlString]]; 
            [request setHTTPMethod:@"POST"]; 
            // 
            NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"]; 
            NSString *contentType = [NSString stringWithFormat:@"multipart/form-data;boundary=%@",boundary]; 
            [request addValue:contentType forHTTPHeaderField: @"Content-Type"]; 
            // 
            NSMutableData *body = [NSMutableData data]; 
            [body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 
            [body appendData:[[NSString stringWithString:@"Content-Disposition:form-data; name=\"userfile\"; filename=\"2.png\"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; //上傳上去的圖片名字 
            [body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; 
            [body appendData:[NSData dataWithData:imageData]]; 
            [body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 
            [request setHTTPBody:body]; 
             
            // NSLog(@"1-body:%@",body); 
            NSLog(@"2-request:%@",request); 
             
            NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; 
            NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding]; 
            NSLog(@"3-測試輸出:%@",returnString); 
        } 

  • 4.對相簿的操作

          選擇相簿

    UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypeCamera; 
       if (![UIImagePickerControllerisSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { 
           sourceType=UIImagePickerControllerSourceTypePhotoLibrary; 
       } 
    UIImagePickerController * picker = [[UIImagePickerControlleralloc]init]; 
    picker.delegate = self; 
    picker.allowsEditing=YES; 
    picker.sourceType=sourceType; 
    [self presentModalViewController:picker animated:YES]; 
         選擇完畢
    -(void)imagePickerController:(UIImagePickerController*)pickerdidFinishPickingMediaWithInfo:(NSDictionary *)info 
    { 
        [picker dismissModalViewControllerAnimated:YES]; 
        UIImage * image=[info objectForKey:UIImagePickerControllerEditedImage]; 
        [self performSelector:@selector(selectPic:) withObject:imageafterDelay:0.1]; 
    } 
    -(void)selectPic:(UIImage*)image 
    { 
        NSLog(@"image%@",image); 
        imageView = [[UIImageView alloc] initWithImage:image]; 
        imageView.frame = CGRectMake(0, 0, image.size.width, image.size.height); 
        [self.viewaddSubview:imageView]; 
        [self performSelectorInBackground:@selector(detect:) withObject:nil]; 
    } 

        detect為自己定義的方法,編輯選取照片後要實現的效果          取消選擇:
    -(void)imagePickerControllerDIdCancel:(UIImagePickerController*)picker 
    { 
        [picker dismissModalViewControllerAnimated:YES]; 
    } 

  • 5 .跳到下個View
        nextWebView = [[WEBViewController alloc] initWithNibName:@"WEBViewController" bundle:nil]; 
        [self presentModalViewController:nextWebView animated:YES]; 

  • 6. 建立一個UIBarButton右邊按鈕        
        UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithTitle:@"右邊" style:UIBarButtonItemStyleDone target:self action:@selector(clickRightButton)]; 
        [self.navigationItem setRightBarButtonItem:rightButton];  

  • 7.給imageView載入圖片
        UIImage *myImage = [UIImage imageNamed:@"1.jpg"]; 
        [imageView setImage:myImage]; 
        [self.view addSubview:imageView]; 

  • 8.設定navigationBar隱藏
        self.navigationController.navigationBarHidden = YES;// 

  • 9.隱藏statusBar:在程式的viewDidLoad中加入
    [[UIApplication sharedApplication]setStatusBarHidden:YES animated:NO]; 
  • 10鍵盤透明:

    textField.keyboardAppearance = UIKeyboardAppearanceAlert; 

  • 11.狀態列的網路活動風火輪是否旋轉:
        [UIApplication sharedApplication].networkActivityIndicatorVisible = YES ; //預設值是NO。 

  • 12.擷取螢幕圖片:
        //建立一個基於點陣圖的圖形上下文並指定大小為CGSizeMake(200,400) 
        UIGraphicsBeginImageContext(CGSizeMake(200,400));  
        //renderInContext 呈現接受者及其子範圍到指定的上下文 
        [self.view.layer renderInContext:UIGraphicsGetCurrentContext()]; 
            //返回一個基於當前圖形上下文的圖片 
         UIImage *aImage = UIGraphicsGetImageFromCurrentImageContext(); 
          //移除棧頂的基於當前點陣圖的圖形上下文 
        UIGraphicsEndImageContext(); 
        //以png格式返回指定圖片的資料 
        imageData = UIImagePNGRepresentation(aImage); 

  • 13.更改cell選中的背景:
        UIView *myview = [[UIView alloc] init]; 
        myview.frame = CGRectMake(0, 0, 320, 47); 
        myview.backgroundColor = [UIColorcolorWithPatternImage:[UIImage imageNamed:@"0006.png"]]; 
        cell.selectedBackgroundView = myview; 



相關推薦

iOS開發一些實用程式碼

1.判斷郵箱格式是否正確的程式碼: //利用正則表示式驗證 -(BOOL)isValidateEmail:(NSString *)email { NSString *emailRegex = @"[A-Z0-9a-z._%+-][email protected

整理js開發實用工具(一):做一個整合儲存的工具

在開發工作中,常遇到程式碼重複開發的問題,比如一個分頁,左滑動等常見功能,而我們的解決辦法可能是這次寫一點,下次 copy 一點,如果不能解決問題,再改寫一點。若是沒有把可複用的程式碼抽離出來,做成一個通用的、可配置的小工具,私以為對技能的提升無益,所以在此立下個 flag,以後工作中遇到頻繁開發的功能

iOS開發一些常用的方法

1.壓縮圖片#pragma mark 處理圖片 - (void)useImage:(UIImage *)image { NSLog(@"with-----%f heught-----%f",image.size.width,image.size.height);

iOS開發UI篇—IOS開發Xcode的一些使用技巧

pen 檢查 elf eight return ui篇 bar mage \n iOS開發UI篇—IOS開發中Xcode的一些使用技巧 一、快捷鍵的使用 經常用到的快捷鍵如下: 新建 shift + cmd + n 新建項目 cmd + n

iOS開發遇到的知識點

1.純程式碼寫collectionViewCell 如上所述,近期我一直使用純程式碼寫工程,在建立collectionViewCell時遇到了一個小問題。 純程式碼在tableViewCell中我們使用下面的方法來新增子檢視。 - (instancetype)initWithStyle:(UITa

iOS - 周總結】開發遇到的知識點(2018.12.03-2018.12.08)

補充:本文也是拖遲一週才更新的。也是由於專案原因。 時間:2018.12.03-2018.12.08 1.在主執行緒操作UI 在開發中我們一般只在主執行緒操作UI,但是在一些方法中我們會呼叫一下UI處理。這時候就會報出一些錯誤警告等。 1. UI API called from backgro

iOS - 周總結】開發遇到的知識點(2018.12.10-2018.12.15)

1.WKWebview載入html文字圖片過大,沒有自適應螢幕寬高。 在用Webview載入html文字有時候會遇到載入的圖片過大,不能自適應螢幕寬高的問題。那麼如何解決這個問題?如何使圖片自適應螢幕?很簡單,只需要加一個js就可以。 直接上程式碼: - (WKWebView *)detailWe

iOS - 周總結】開發遇到的知識點(2018.12.17-2018.12.22)

本週知識點遇到的少。 部分知識點是關於圖表的,已在前幾篇文章中顯示。 1.鍵值監聽要注意關閉 在一個播放視訊的頁面返回後,在6s上執行沒問題,可是在5s上執行會崩潰。我檢視日誌發現是kvo的問題。發現我在頁面消失後沒有去除觀察者。從而出現崩潰。 // 在viewdidload中 // 監聽播放

iOS - 周總結】開發遇到的知識點(2018.12.24-2018.12.29)

1.float和double的精度問題。 在開發中我遇到一個問題就是四位或者五位小數的字串轉換成float後相加,在轉換成字串,數值不正確。我開始以為是後臺返回資料的問題,打印出來發現不是。只能想到是精度的問題。這時候我就轉換成double型別,發現結果就不會出錯了。   2.iOS自建證書不

iOS開發一些常見的警告解決方案(更新。。。)

Unknown pattern color for the Background Color attribute 1.背景色屬性為未知模式的顏色 解決:預設xib裡面控制元件的背景色為Default。如果出現警告,可能是你定義的顏色Xcode啟動

關於iOS開發圖片處理的一些積累(CoreGraphic、CoreImage、GPUImage、OpenGL)

Core Image 前言 貌似公司最近的專案都是和圖片處理有關,拍拍專案中需要將圖片處理成buffer傳到影象匹配拼接演算法中,需要從原圖中摳出一定範圍的影象再貼到新的背景圖中,需要對靜態圖片進行濾鏡操作等等,所以對這方面接觸的相對多一些。

iOS開發常見的一些異常

ron 文件 數值 range rom hold 要去 param 空間不足 iOS開發中常見的異常包括以下幾種NSInvalidArgumentExceptionNSRangeExceptionNSGenericExceptionNSInternallnconsisten

redis-cli那些或許我們還不知道的一些實用功能

玩過redis的朋友都知道,redis中有一個叫做redis-cli的小工具,我們可以利用它在test和develop環境下進行高效的模擬測試,然而在現實環境中, 我們只知道直接鍵入redis-cli啟動命令的互動式,而這個對redis-cli來說絕對是九牛一毛,下面我逐一給

iOS開發oc程式碼響應js網頁點選事件的方法

在APP開發中我們經常碰到一種情況:app開啟一個網頁,網頁裡有些按鈕需要我們去響應,比如開啟一個遊戲介紹的網頁,點選網頁中的“立即下載”按鈕,app需要跳轉到對應下載介面。那麼我們怎麼響應?程式碼如下: -(void)makeWeb { self.webView

Android開發一些記錄

1.有的時候,我們會從庫上check一些結構比較奇葩的工程,由於各種原因導致IDEA無法識別出版本同步工具是什麼,解決辦法,cd到.idea目錄下,在vcs.xml檔案中mapping節點的vcs屬性上配置上工具名稱Git即可(我用的是Git,所以我這裡就配置Git了),然後重啟IDEA就好了。

iOS開發,對請求資料出現的一些簡單處理

這裡呢是整理的一位老鳥的東西,好東西得分享 大致實現思路就是迴圈便利做比較,如果發現是NSNull型別的就把值改為空字串;這樣的好處就是當資料請求回來,刪除一下資料裡面為<null>型別的東西,避免在直接取的時候產生程式崩潰問題; 兩個方法,一個返回NSA

iOS開發遇到的常用的知識

1、launchImage如果不設定,或是圖片尺寸設定不正確,app啟動時會出現短暫的黑屏 2、啟動動畫簡單示例,在app delegate中寫 //圖片擴大淡出的效果開始; //設定一個圖片; niceView = [[UIImageViewalloc] in

Linux 安裝一些實用軟體總結

sudo apt-get install virtualbox#華主席推薦 2007年年度最佳軟體,最佳編輯選擇獎得主..... sudo apt-get install ntfs-3g ntfs-config #ntfs寫入支援,裝完後執行ntfs-confi

iOS開發地圖與定位

視圖 編寫 aps 簡單 -a 第三方 span spa margin   不管是QQ還是微信的移動client都少不了定位功能,之前在微信demo中沒有加入定位功能,今天就寫個定位的小demo來了解一下定位和地圖的東西。地圖和定位看上去是挺高大上一東西。其有使用方法比

iOS開發,獲取iOS設備型號

bsp ios設備型號 isequal uid eve ide inf turn res 1、首先要導入頭文件   #import <sys/utsname.h> 2、代碼如下 - (NSString *)getDeviceVersionInfo{