【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]];

 

【iOS - 周总结】开发中遇到的小知识点(2018.12.17-2018.12.22)

上一篇:022_applescript教程


下一篇:Flutter 实现下拉刷新 非安卓原生效果