標籤:
11.自適應文本高度
1 NSDictionary *attributes = @{NSFontAttributeName: [UIFont systemFontOfSize:14]};2 3 CGRect rect = [text boundingRectWithSize:CGSizeMake(ViewWidth, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:attributes context:nil];4 5 return rect.size.height;
12 iOS9 適配設定
實際上在Xcode 7中,我們建立一個iOS程式時,bitcode選項預設是設定為YES的。我們可以在”Build Settings”->”Enable Bitcode”選項中看到這個設定。
要麼讓第三方庫支援,要麼關閉target的bitcode選項。
13. iOS9 HTTPs轉HTTP
1 <key>NSAppTransportSecurity</key> 2 3 <dict> 4 5 <!--Connect to anything (this is probably BAD)--> 6 7 <key>NSAllowsArbitraryLoads</key> 8 9 <true/>10 11 </dict>
14.截取字串
[str substringFromIndex:6];
substringWithRange:NSMakeRange(4,2)截取字串的一部分,從第4位開始,截取兩位
substringToIndex: n截取到第幾位
(substringFromIndex:n)字串從第n 位開始截取,直到最後
16.NSScanner: nil string argument
錯誤原因是我們在調用某個方法的時候,傳入了一個Null 字元串(注意區別於字串內容為空白)作為方法參數。
我從伺服器上擷取某字串資料,考慮到有些對象不含這個字串變數,我在使用時先判斷該字串是否為空白,例如:
假設,這個字串名叫str,
先判斷if(str!=nil){
//do something
double data=[str doubleValue];
}
但是,當資料為空白時依舊報錯,
蘋果官方文檔時,有這麼一個代碼:
- id aValue = [arrayWithNull objectAtIndex:0];
- if (aValue == nil) {
- NSLog(@"equals nil");
- } else if (aValue == [NSNull null]) {
- NSLog(@"equals NSNull instance");
- if ([aValue isEqual:nil]) {
- NSLog(@"isEqual:nil");
- }
- }
- // output: "equals NSNull instance”
雖然最後我的問題解決了,我在if判斷中用
- if(![tmpNewsModel.latitude isEqual:[NSNull null]]){
- //do something
- }
問題是解決了,但是還不太理解nil和NSNull的區別?
17.iphone 尺寸
18.修改mac host檔案
sudo nano /etc/hosts
同樣是輸入密碼,開啟 hosts 檔案,根據你的需要對該檔案進行編輯,編輯完畢之後按 ctrl+o 儲存,
出現 File Name to Write: /etc/hosts 的時候按斷行符號確認,再按 ctrl+x 退出即可。
19. IOS8 設定TableView Separatorinset 分割線從邊框頂端開始
經過測試加入下面方法 在ios7 8上都可以正常工作
1 -(void)viewDidLayoutSubviews 2 3 { 4 5 if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) { 6 7 [self.tableView setSeparatorInset:UIEdgeInsetsMake(0,0,0,0)]; 8 9 }10 11 12 13 if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) {14 15 [self.tableView setLayoutMargins:UIEdgeInsetsMake(0,0,0,0)];16 17 }18 19 }20 21 22 23 -(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath24 25 {26 27 if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {28 29 [cell setSeparatorInset:UIEdgeInsetsZero];30 31 }32 33 34 35 if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {36 37 [cell setLayoutMargins:UIEdgeInsetsZero];38 39 }40 41 }
20.url 裡面不能有中文字元,需轉換否會請求出錯
ios 寫項目的時候遇到的問題及解決方案(2)