Closed huiyumiao closed 1 year ago
如果sourceRect 的中心位置太靠左或太靠右会出现如图的情况
sourceRect
查看源码发现没有对 _arrowMinX 做限制
_arrowMinX
我暂时做了如下处理,箭头在左右的也有这个问题
_arrowMinX = MIN(MAX(selfMidX - self.arrowSizeAuto.width / 2, self.cornerRadius), CGRectGetWidth(self.frame) - self.cornerRadius - self.arrowSizeAuto.width);
这个从代码设计的角度是不可避免的,你给的 rect 太过于靠近边缘,始终都会有这样的情况出现。此时组件也没办法帮你做什么自动的调整,把箭头往左边挪一点?但如果你给我的 rect.size.width 很小比如2、3呢?那我往左边挪了,箭头就没对准你的 rect 了,那又是另一个问题。
所以只能靠业务自己保证 rect 不要太偏。
如果
sourceRect
的中心位置太靠左或太靠右会出现如图的情况查看源码发现没有对
_arrowMinX
做限制我暂时做了如下处理,箭头在左右的也有这个问题