还有个问题是
if (translateX <= 40) {
// 如果手指移动的距离还不到屏幕的一半,往左边挪 (弹回)
[UIView animateWithDuration:0.3 animations:^{
// 重要~~让被右移的view弹回归位,只要清空transform即可办到
self.view.transform = CGAffineTransformIdentity;
// 让imageView大小恢复默认的translation
_screenshotImgView.transform = CGAffineTransformMakeTranslation(-ScreenWidth, 0);
// 让遮盖的透明度恢复默认的alpha 1.0
_coverView.alpha = kDefaultAlpha;
} completion:^(BOOL finished) {
// 重要,动画完成之后,每次都要记得 移除两个view,下次开始拖动时,再添加进来
[_screenshotImgView removeFromSuperview];
[_coverView removeFromSuperview];
}];
}
动画完成之后_screenshotImgView.transform也应该置为默认CGAffineTransformIdentity,不然会出现第二次侧滑的时候左侧白屏;也或许是我替换了截屏方法导致吧
【iOS】让我们一次性解决导航栏的所有问题更新:最后提供的所谓“终极”解决方案,之前都是自己的项目在用,分享出来之后,发现有一些地方还需要改进。但是总体思路不变,因此如非必要文章不会做大幅更改,最终代码请以文末git...