Анимируйте изменение с помощью NSTextAlignment UITextField, используя Swift

Мне любопытно, можно ли анимировать изменение выравнивания текста UITextField. По сути, у меня есть UITextField, выравнивание которого обычно установлено по центру, и я хочу, чтобы он анимировался влево, когда пользователь начинает редактирование. Вот код, который я пробовал в методах делегата UITextField:

func textFieldDidBeginEditing(textField: UITextField) {
    UIView.animateWithDuration(0.5, delay: 0, options: UIViewAnimationOptions.CurveEaseInOut, animations: {

            self.titleField.textAlignment = NSTextAlignment.Left
            self.view.layoutIfNeeded()

        }, completion: nil)
}

Когда я касаюсь текстового поля и начинаю редактирование, выравнивание текста меняется, но не анимируется. Мне просто интересно, возможно ли то, что я пытаюсь сделать. Это никоим образом не важно для работы моего приложения, но для ситуации это выглядело бы очень хорошо.

Любые советы очень ценятся. Спасибо!


person Pierce    schedule 25.03.2016    source источник


Ответы (1)


К сожалению, нет возможности анимировать изменение NSTextAlignment. Однако вы можете имитировать эффект, если будете умнее. Для вдохновения см. этот вопрос.

person Quantaliinuxite    schedule 25.03.2016
comment
Штопать! Я как бы подумал, что мне придется пойти по этому пути, но я думаю, я пытался увидеть, есть ли более легкий путь. Спасибо, что разъяснили мне! - person Pierce; 26.03.2016
comment
Без проблем! Apple не всегда делает это легко - person Quantaliinuxite; 26.03.2016