сохранить последнюю точку и использовать CGContext, чтобы нарисовать кривую Безье (CGContextAddCurveToPoint ()) от последней точки до текущей точки. Вам, вероятно, не нужно делать это каждый раз, когда touchSMoved вместо этого создает аккумулятор.
static int accum = 0;
if ((accum == 0) || (accum == threshold)) {
// drawing code goes here
accum = 0;
}
accum++;
Порог должен быть переменной экземпляра. Вы можете изменить порог динамически, если вам нужно больше точности на кривых.