我在scrollView上有一个imageView并在其上添加了一个点击手势,当它滚动时,imageView将变得越来越小,这里是变换的代码
let offset = scrollView.contentOffset.y
var avatarTransform = CATransform3DIdentity
var headerTransform = CATransform3DIdentity
let avatarScaleFactor = (min(offset_HeaderStop, offset)) / userImage.bounds.height / 1.4 // Slow down the animation
let avatarSizeVariation = ((userImage.bounds.height * (1.0 + avatarScaleFactor)) - userImage.bounds.height) / 2.0
avatarTransform = CATransform3DTranslate(avatarTransform, 0, avatarSizeVariation, 0)
avatarTransform = CATransform3DScale(avatarTransform, 1.0 - avatarScaleFactor, 1.0 - avatarScaleFactor, 0)
我发现avatarTransform = CATransform3DScale(avatarTransform,1.0 - avatarScaleFactor,1.0 - avatarScaleFactor,0)正在影响我的识别器,如果我删除此行eveything工作正常。任何人都知道为什么?
答案 0 :(得分:0)
z轴上的比例因子应大于零;将其设为零会使按钮具有“无深度”,因此无法识别触摸。 (虽然你仍然可以看到按钮)
使用乘法计算缩放比例,因此为了使“z轴上没有变换”,值应为1
,而不是0
将您的最后一行更改为:
avatarTransform = CATransform3DScale(avatarTransform, 1.0 - avatarScaleFactor, 1.0 - avatarScaleFactor, 1.0)