Убедитесь, что вы на самом деле рисуете не дробные координаты. Например, если вы начнете рисовать с X = 0,5 и Y = 0,0, ваш текст будет выглядеть паршиво. То же самое касается вертикальных координат. Если ваши координаты являются результатом вычислений, просто добавьте приведение к целому числу, как это:
CGPoint startDrawingAt = CGPointMake((int)x, (int)y);
Или используйте правильное округление:
CGPoint startDrawingAt = CGPointMake(roundf(x), roundf(y));