internetWei / LLDynamicLaunchScreen

不用更新APP版本即可修改启动图,可以使用网络图片;自动修复启动图显示异常。
https://juejin.cn/user/2418581312385288/posts
MIT License
217 stars 37 forks source link

兼容图片嵌套时自动修复逻辑 #20

Closed GKWenBo closed 1 year ago

internetWei commented 1 year ago

2个问题:

  1. “代码优化”提交中把![subView isKindOfClass:[UIImageView class]] 这行判断放到了 subView.isHidden后是为什么?是因为视图被隐藏的可能性大于视图不是UIImageView,把它移到后面会减少1次判断吗?
  2. "兼容图片嵌套时自动修复逻辑"提交期望解决的问题是如果UIImageView被嵌套在UIStackView等视图中时,目前的逻辑会检查不到;提交确实解决了这个问题,但同时带来了一个新问题;有这样一行代码:CGRect imageRect = [imageView.image ll_CGRectWithContentMode:imageView.contentMode viewSize:imageView.bounds.size clipsToBounds:imageView.clipsToBounds];,这行代码的作用是计算UIImage在UIImageView中的什么位置;因为UIImage并不一定会填充满整个UIImageView,例如设置了非Fill 的contentMode属性;之所以要计算UIImage的具体位置而非UIImageView的位置,是因为启动图显示异常时,是UIImage的显示区域呈现一团黑色或白色,而非整个UIImageView区域。

第1个问题你只需要留言就行,第2个问题麻烦修复后再次pull request。

internetWei commented 1 year ago

编写提交信息时请注意遵守Angular提交信息规范,如图所示:

iShot_2023-06-05_22 22 04

更详细的信息请参考:Commit message 和 Change log 编写指南 - 阮一峰的网络日志

GKWenBo commented 1 year ago

第一次GitHub提交pullrequest,没考虑格式问题,我参考修改一下。 1、第一个问题是保留原遍历视图逻辑,减少判断次数 2、第二个确实没有考虑到未填充整个图片视图,我项目现在这样改了一下,我还再看看这个问题