【发布时间】:2012-07-01 23:29:11
【问题描述】:
我很确定这里有一个明显的答案,也许我太累了,看不到它,但这里是:
我有一个UIPanGestureRecognizer。它被连接起来以移动视图。
我在这个视图中有一个子视图,我想在平移视图时调整alpha。
视图只能水平平移,这样就省去了一些数学运算。
有问题的子视图以alpha 或1.0 开头。在超视图平移时,我想调整子视图的 alpha 使其按比例越来越低,直到达到最小值 alpha 的 0.3。
我的代码在这一点上并不多,但实际上看起来像这样:
- (void) someMethodForRecognizer: (UIGestureRecognizer *) recognizer {
// do stuff here
if (recognizer.state == UIGestureRecognizerStateChanged) {
// do fancy math here
}
// do more stuff here
}
我需要做什么样的数学计算才能在UIGestureRecognizerStateChanged 期间的任何给定时刻应用正确的alpha?
(假设相关状态相关的 ivars 已设置且可用,您可以随意添加任何看起来不明显的内容。)
(我真的是个懒惰的白痴,不是吗?)
【问题讨论】:
-
平移距离和alpha有什么关系?那么当你远离原点时它应该变得更加透明吗?它可以移动的最远距离是多少?您希望它何时达到 0.3 alpha?
标签: cocoa-touch uiview uikit uigesturerecognizer