iOS開發細節

weixin_33976072發表於2015-11-29

解決有的圖片顯示時只是一塊顏色,而顯示不正常的問題

//渲染UIImage*image = [UIImageimageNamed:@"imageName"];image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

毛玻璃效果

UIImageView*imageView = [[UIImageViewalloc]initWithImage:[UIImageimageNamed:@"xiaoxin3"]];//毛玻璃效果UIVisualEffectView*visualView = [[UIVisualEffectViewalloc]initWithEffect:[UIBlurEffecteffectWithStyle:(UIBlurEffectStyleLight)]];visualView.frame=self.tableView.bounds;visualView.alpha=0.8;[imageView addSubview:visualView];self.tableView.backgroundView= imageView;

檢視截圓角

_customView.layer.masksToBounds = YES;_customView.layer.cornerRadius =    self.customView.bounds.size.width/2;

使用NSURLSession請求網路資料

//通過單例建立Session物件//步驟1.NSURLSession 伺服器資料非同步載入,作用和NSURLConnection的作用相同NSURLSession*session = [NSURLSessionsharedSession];//步驟2.封裝網路請求NSURLRequest*request = [[NSURLRequestalloc] initWithURL:[NSURLURLWithString:@"baidu.com"]];//步驟3.準備載入資料,建立這個任務的taskNSURLSessionTask*task = [session dataTaskWithRequest:request completionHandler:^(NSData* _Nullable data,NSURLResponse* _Nullable response,NSError* _Nullable error) {//當載入資料完成時,呼叫該blockNSLog(@"%@",data);//手動解析網路資料NSDictionary*dict = [NSJSONSerializationJSONObjectWithData:data options:NSJSONReadingMutableContainerserror:nil];NSLog(@"%@",data);}];//呼叫此方法開始載入資料[task resume];

播放語音

//匯入包import //聲音整合器AVSpeechSynthesizer*speechSy = [[AVSpeechSynthesizeralloc] init];//發聲器AVSpeechUtterance*utterance = [[AVSpeechUtterancealloc] initWithString:@"i am very happy"];AVSpeechUtterance*utterance2 = [[AVSpeechUtterancealloc] initWithString:@"ha ha ha"];AVSpeechUtterance*utterance3 = [[AVSpeechUtterancealloc] initWithString:_textFeild.text];//給合成器新增發生器,讓其發音[speechSy speakUtterance:utterance];[speechSy speakUtterance:utterance2];[speechSy speakUtterance:utterance3];//哪國語言utterance.voice= [AVSpeechSynthesisVoicevoiceWithLanguage:@"en-US"];//語速utterance.rate=0.5;//音高utterance.pitchMultiplier=1.0;

webView

UIWebView*webView = [[UIWebViewalloc]  initWithFrame:self.view.frame];[webView loadRequest:[NSURLRequestrequestWithURL:[NSURLURLWithString:myurl]]];self.view= webView;

使用第三方SDWevImage解析圖片

[cell.imgViewsd_setImageWithURL:[NSURLURLWithString:news.picUrl]placeholderImage:[UIImageimageNamed:@"image"]];

設定cell的自適應高度

使用此方法必須要設定cell中的最後一個控制元件與cell的距離

self.myTableView.rowHeight=UITableViewAutomaticDimension;self.myTableView.estimatedRowHeight=100;

讓音樂在後臺播放

[AVAudioSession sharedInstance]setCategory:AVAudioSessionCategoryPlaybackerror:nil];

將URL中的漢字轉換成utf-8格式,拼接到URL字串中

NSString*typeString = (__bridgeNSString*)CFURLCreateStringByAddingPercentEscapes(NULL,(__bridgeCFStringRef)@"健康",NULL,(CFStringRef)@"!*'();:@&=+$,/?%#[]",kCFStringEncodingUTF8);

去除解析出來的資料帶的 HTML 標記

- (NSString *)filterHTML:(NSString *)html{NSScanner * scanner = [NSScannerscannerWithString:html];NSString * text = nil;while([scanner isAtEnd]==NO){//找到標籤的起始位置[scannerscanUpToString:@"<"intoString:nil];//找到標籤的結束位置[scannerscanUpToString:@">"intoString:&text];//替換字元html = [htmlstringByReplacingOccurrencesOfString:[NSStringstringWithFormat:@"%@>",text]withString:@""];}returnhtml;}

去廣告

先到網頁,找到開發者平臺,依次輸入並提交

document.getElementsByClassName(‘index_mask’) ->

document.getElementsByClassName(‘index_mask’)[0] ->

document.getElementsByClassName(‘index_mask’[0].style.display = ‘none’

若在網頁上顯示的對應的廣告沒了,就可以將最後一句寫到下面的程式中

-(void)webViewDidFinishLoad:(UIWebView *)webView{[webViewstringByEvaluatingJavaScriptFromString:@"document.getElementsByClassName('index_mask')[0].style.display = 'none'"];}

圖片自適應

imgView.contentMode = UIViewContentModeScaleAspectFit;

解決tableView的head不會和cell一起滾動的問題

self.tableView= [[UITableViewalloc] initWithFrame:CGRectMake(0,0,self.view.frame.size.width,self.view.frame.size.height) style:UITableViewStyleGrouped];

解決有navigationbar的情況下,下面的tableView與navigationbar有一段距離的問題

self.automaticallyAdjustsScrollViewInsets=NO;

資料再cell中解析,給cell做自適應高度時,無法實現

可能是因為cell出現時,自適應高度已經實現了,但是還沒有內容,所以想辦法先重新整理一下資料(使用block塊可以在cellForRow……方法中實現)

相關文章