0 Replies
      Latest reply on Jul 1, 2019 12:03 PM by shaun
      shaun Level 1 Level 1 (0 points)

        I'm trying to replicate UIImageView perspective transforms by using UIFocusMovementHint as described in https://developer.apple.com/videos/play/wwdc2018/208/.

         

        However, the transforms returned by perspectiveTransform appears to be an identity transform and interactiveTransform only seems to apply translation.

         

        Here’s an output of what UIFocusMovementHint is returning for a fairly aggressive downward movement, right before it would move to the next focusable view:

         

        movementDirection: (0.04368194342638193, 1.0)
        perspectiveTransform: CATransform3D(m11: 1.0, m12: 0.0, m13: 0.0, m14: 0.0, m21: 0.0, m22: 1.0, m23: 0.0, m24: 0.0, m31: 0.0, m32: 0.0, m33: 1.0, m34: -0.0011111111111111111, m41: 0.0, m42: 0.0, m43: 0.0, m44: 1.0)
        rotation: (0.04838541666666667, -0.002113569033495251)
        translation: (0.4368194342638193, 10.0)
        interactionTransform: CATransform3D(m11: 0.9999977664138018, m12: 0.0, m13: 0.0021135674598821426, m14: 0.0, m21: -0.00010222594361558913, m22: 0.9988296540831968, m23: 0.048366431271057095, m24: 0.0, m31: -0.0021110938548355813, m32: -0.048366539301891734, m33: 0.9988274231110671, m34: -0.0011111111111111111, m41: 0.4357961991538039, m42: 9.988296540831968, m43: 0.4845875600526751, m44: 1.0)
        

        Do I need to opt-in to 3D transforms to get a perspective value? I don't see any APIs to do that, but perhaps I'm missing something. 

         

        Lastly: Is anyone actually even using this API? Searching around the web and there's 0 mentions of it on the dev forums or stackoverflow.  The only references on GitHub are from people dumping the headers.  Unfortunately the sample code from the WWDC session it was mentioned in was never posted, so I can't seem to find any sample code on how this it’s supposed to work.