这适用于iPad应用程序,但它本质上是一个数学问题.
我需要绘制一个变化(单调增加)线宽的圆弧.在曲线的开始处,它将具有起始厚度(假设为2pts),然后厚度将平滑地增加直到弧的末端,其将处于其最大厚度(假设为12pts).
我认为最好的方法是创建一个UIBezierPath并填充形状.我的第一次尝试是使用两个圆弧(带有偏移中心),并且工作精细到90°,但弧度通常在90°和180°之间,因此接近不会切割它.

我目前的方法是使用贝塞尔四边形或三次曲线制作一个轻微螺旋(一个从圆弧略微增长,一个略微收缩).问题是我在哪里放置控制点,以便与圆弧(也就是形状"厚度")的偏差是我想要的值.
约束:
我也对其他解决方案持开放态度.
我正在编写一个框架,它简化了iOS中常见的(但有时是棘手的)拖放任务.作为此框架的一部分,当用户拖动(并暂时保持)scrollView边缘附近的对象时,它将以编程方式在边缘方向上滚动scrollView.
我能够使用-setContentOffset滚动得很好:动画:(传递NO到动画)和NSTimer,但滚动指示器不显示.这会导致令人困惑的用户体验(如果背景是普通/无纹理的话,很难说它是滚动的).
我尝试从我的NSTimer回调调用-flashScrollIndicators(因为设置了contentOffset),但由于某种原因,指示符等到滚动完成后再闪烁.
我想要的效果是指针在滚动发生时出现,然后在停止后消失.基本上,我想要的效果与用户用手指滚动scrollView以触发由于拖动引起的编程滚动时相同.
关于如何实现这一点的任何想法?
bezier ×1
ios ×1
ios5 ×1
ipad ×1
math ×1
objective-c ×1
spiral ×1
uibezierpath ×1
uiscrollview ×1