1. 程式人生 > >【iOS - 周總結】開發中遇到的小知識點(2018.12.17-2018.12.22)

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

本週知識點遇到的少。

部分知識點是關於圖表的,已在前幾篇文章中顯示。

1.鍵值監聽要注意關閉

在一個播放視訊的頁面返回後,在6s上執行沒問題,可是在5s上執行會崩潰。我檢視日誌發現是kvo的問題。發現我在頁面消失後沒有去除觀察者。從而出現崩潰。

// 在viewdidload中
// 監聽播放
    [self.avPlayer addObserver:self forKeyPath:@"status" options:NSKeyValueObservingOptionNew context:nil];

- (void)dealloc {
    [self.avPlayer removeObserver:self forKeyPath:
@"status"]; }

 

2.多注意檢視原始碼

CWLateralSlide一個很不錯的側滑抽屜效果的庫。有仿QQ的側滑效果,還有直接覆蓋的效果,種類很多。

在開發中我只是呼叫了最簡單的,沒有仔細看程式碼,以為它不支援這麼多效果,鬧了笑話。以後要多注意檢視原始碼。

 

3.NSAttributedString 設定部分文字上移實現上對齊

新增下劃線、換字型顏色等等功能都知道。可是在本週的開發中我遇到一個問題就是第一個字小 後面的字大,而且要求上對齊,這就不好實現了,我開始想的是直接寫兩個label。可是這樣會比較麻煩。畢竟之前是按照一個label寫的。這是我檢視NSAttributedString發現其中有一個上移的屬性

//調整基線位置 從而改變字型初始位置(垂直方向,正數往上,負數往下)
NSString *const NSBaselineOffsetAttributeName;
NSMutableAttributedString * mAttribute = [[NSMutableAttributedString alloc] initWithString:ligatureStr];
[mAttribute addAttribute:NSBaselineOffsetAttributeName
                   value:@10
                   range:NSMakeRange(
0, 10)];

參考:一個相當全的NSAttributedString使用文件

 

4.仿微信朋友圈設定圖片模式

微信朋友圈小圖展示的時候不論大圖小圖都是充滿,不變形。我是這樣實現的

// 先設定按比例填充
_videoImageView.contentMode = UIViewContentModeScaleAspectFill;
// 這是如果是大圖就會出現外面也有的情況。這就需要切割
_videoImageView.clipsToBounds = YES;

 

5.使用[url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];警告

// 使用這個替換
[url stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];