В моем приложении есть несколько анимаций, которые включают изменение альфа-значения разных объектов. Они отлично работают для затухания объекта, но они никогда не работают для затухания до 0.
UIView.animateWithDuration(0.4,
delay: 0,
options: .CurveLinear & .AllowUserInteraction & .BeginFromCurrentState,
animations: {
cell.notesLabel.alpha = 0
}, completion: nil)
По сути, прозрачность просто мгновенно переключается со 100% на 0%. Если я увеличу продолжительность, для запуска анимации потребуется больше времени, а затем она снова запустится мгновенно.
У кого-нибудь есть идеи?
Весь код:
let cell = tableView.cellForRowAtIndexPath(indexPath) as CustomTransactionTableViewCell
if cell.notesLabel.alpha == 100 {
UIView.animateWithDuration(0.4,
delay: 0,
options: .CurveLinear | .AllowUserInteraction | .BeginFromCurrentState,
animations: {
cell.notesLabel.alpha = 0
}, completion: { (finished:Bool) in
UIView.animateWithDuration(1,
delay: 0,
options: .CurveLinear & .AllowUserInteraction & .BeginFromCurrentState,
animations: {
cell.paymentArrowImage.frame.origin.x = cell.paymentArrowImage.frame.origin.x - 400
cell.creditArrowImage.frame.origin.x = cell.creditArrowImage.frame.origin.x - 400
cell.paymentNameLabel.frame.origin.x = cell.paymentNameLabel.frame.origin.x + 400
cell.dateLabel.frame.origin.x = cell.dateLabel.frame.origin.x + 400
cell.costLabel.frame.origin.x = cell.costLabel.frame.origin.x - 400
}, completion: nil)
})
} else {
UIView.animateWithDuration(0.4,
delay: 0,
options: .CurveLinear & .AllowUserInteraction & .BeginFromCurrentState,
animations: {
cell.paymentArrowImage.frame.origin.x = cell.paymentArrowImage.frame.origin.x + 400
cell.creditArrowImage.frame.origin.x = cell.creditArrowImage.frame.origin.x + 400
cell.costLabel.frame.origin.x = cell.costLabel.frame.origin.x + 400
cell.paymentNameLabel.frame.origin.x = cell.paymentNameLabel.frame.origin.x - 400
cell.dateLabel.frame.origin.x = cell.dateLabel.frame.origin.x - 400
cell.notesLabel.alpha = 100
}, completion: nil)
}
.CurveLinear
и пошел дальше. - person oltman   schedule 18.10.2014|
вместо&
между вариантами. - person Kevin   schedule 18.10.2014