iOS:将屏幕坐标中的CGPoint转换为iCarousel中的CATransform3D?

时间:2015-05-20 09:44:06

标签: ios coordinate-systems cgpoint icarousel coordinate-transformation

我想添加一种在carousel中拖动元素的可能性,并且我对可拖动元素的定位和转换有一些麻烦。

据我了解,最好暂时隐藏/删除可拖动元素,并在carousel项目数组外创建代理,该数组代表真实元素的位置和转换属性。

问题是如何根据其位置设置此类代理项的正确转换。来自items数组的一个视图具有自己的索引和轮播滚动偏移(这对于所有项都是通用的)。但是分离的视图只有一个位置(更好的情况下,它存储原始轮播项的变换,我可以找到最近的视图/视图)。

那么如何将给定的屏幕点转换为iCarousel坐标系中的偏移量?变换矩阵足够复杂:旋转,透视和翻译。

1 个答案:

答案 0 :(得分:0)

我找到了一个解决方案,但在我的特殊情况下它看起来很糟糕。我需要沿着y移动每个拖动位置改变事件:

$("#datepicker").datepicker({

    beforeShowDay: function(date) {

        for(var i = 0; i < testJson.length; i++) {
            startDate = new Date(testJson[i].startDate);
            endDate = new Date(testJson[i].endDate);

            if(date >= startDate && date <= endDate) {
                return [true, 'ui-state-error', 'Gereserveerd!'];
            }

            //return [true, '', ''];
        }
        return [true, '', ''];
    }
});

其中spacing是轮播中或通过其委托给出的变量。