LookinServer icon indicating copy to clipboard operation
LookinServer copied to clipboard

更新SDK至1.0.4后渲染出现问题

Open CoderMaurice opened this issue 3 years ago • 6 comments

有一个比较复杂的界面,包含很多CAShapeLayer和View 更新以后就无法渲染出来,显示一片空白 回滚至1.0.3后一切正常

CoderMaurice avatar Aug 31 '21 09:08 CoderMaurice

1.0.4 唯一的更改是对 view.frame 添加了校验逻辑https://github.com/QMUI/LookinServer/blob/master/Src/Server/Others/LKS_HierarchyDisplayItemsMaker.m#L53

根据你的描述,可能是校验逻辑不太对。

你可以升级到 1.0.4,然后在那个可以重现 bug 的界面刷新一下 Lookin,然后在你的 Xcode 控制台里使用“可能导致 Lookin 客户端中图像渲染错误”作为关键字过滤一下,然后看看能搜出什么日志?

hughkli avatar Sep 01 '21 15:09 hughkli

LookinServer - 该 layer 的 frame({{6780492, 0}, {414, 896}}) 不太寻常,可能导致 Lookin 客户端中图像渲染错误,因此这里暂时将其视为 CGRectZero

确实找到了这么一条Log

CoderMaurice avatar Sep 02 '21 01:09 CoderMaurice

这个界面用了比较复杂的嵌套,用了一些第三方的嵌套UI的库(JXPagingView) 应该是因为它初始化的时候给的X值过大导致cgRectIsUnreasonable 检验不过。。。

CoderMaurice avatar Sep 02 '21 01:09 CoderMaurice

看起来有两种解决方法: 1)你从业务侧规避这个问题。毕竟即使不使用 Lookin,一个 view 的 origin 被设置为 6780492 这么大的数字通常应该是不合预期的 2)如果业务侧规避不了,并且你认为这个场景很重要,你可以把出问题的那个界面(显示一片空白)的 Lookin 文档导出来私信发给我(“文件”-“导出为文件”),我看看 Lookin 是否能有更好的办法处理这种异常场景。

hughkli avatar Sep 03 '21 03:09 hughkli

ios14_09031311.lookin.zip

我也是接手的别人的代码 仔细看了一下 是因为第三方库<FSPagerView> FSPagerViewCollectionView的NDStockDetailContainCell的X值

CoderMaurice avatar Sep 03 '21 05:09 CoderMaurice

也有显示不了的情况

https://user-images.githubusercontent.com/10040131/145748660-4fca8dda-5241-4976-b984-73ed347f84ea.mov

songxing10000 avatar Dec 13 '21 03:12 songxing10000

升级到最新版本的 LookinServer 即可。

hughkli avatar Oct 10 '22 13:10 hughkli