Size: a a a

2020 August 28

󠀡

󠀡󠀡󠀡󠀡󠀡󠀡... in SwiftBook
источник

Р

Рамазан in SwiftBook
Кто нибудь создавал свой шаблон кодогенерации в Generamba?
источник

A

Alim in SwiftBook
Пытаюсь сделать простенькую анимацию попапа, чтобы вьюха съезжала сверху вниз, почему-то получается, что она выползает с угла. В чём трабл?

extension UIView {
   func show() {
       let view = UILabel()
       view.text = "TEST"
       view.backgroundColor = .red
   view.translatesAutoresizingMaskIntoConstraints = false
   
       self.addSubview(view)
       let topConstraint = view.topAnchor.constraint(equalTo: self.topAnchor); topConstraint.isActive = true
       view.heightAnchor.constraint(greaterThanOrEqualToConstant: 50).isActive = true
       view.leadingAnchor.constraint(equalTo: self.leadingAnchor, constant: 10).isActive = true
       view.trailingAnchor.constraint(equalTo: self.trailingAnchor, constant: -10).isActive = true
       
       UIView.animate(withDuration: 3, animations: {
           topConstraint.constant += self.safeAreaInsets.top + 10
           self.layoutIfNeeded()
       })
   }
}
источник

A

Alim in SwiftBook
источник

Р

Рамазан in SwiftBook
Alim
Пытаюсь сделать простенькую анимацию попапа, чтобы вьюха съезжала сверху вниз, почему-то получается, что она выползает с угла. В чём трабл?

extension UIView {
   func show() {
       let view = UILabel()
       view.text = "TEST"
       view.backgroundColor = .red
   view.translatesAutoresizingMaskIntoConstraints = false
   
       self.addSubview(view)
       let topConstraint = view.topAnchor.constraint(equalTo: self.topAnchor); topConstraint.isActive = true
       view.heightAnchor.constraint(greaterThanOrEqualToConstant: 50).isActive = true
       view.leadingAnchor.constraint(equalTo: self.leadingAnchor, constant: 10).isActive = true
       view.trailingAnchor.constraint(equalTo: self.trailingAnchor, constant: -10).isActive = true
       
       UIView.animate(withDuration: 3, animations: {
           topConstraint.constant += self.safeAreaInsets.top + 10
           self.layoutIfNeeded()
       })
   }
}
topConstraint.constant += self.safeAreaInsets.top + 10  вынеси наверх, за UIview.animate…
источник

A

Alim in SwiftBook
Рамазан
topConstraint.constant += self.safeAreaInsets.top + 10  вынеси наверх, за UIview.animate…
тот же самый эффект
источник

Р

Рамазан in SwiftBook
Alim
тот же самый эффект
тогда попробуй вызвать анимацию на 2 секунды  позже
источник

Р

Рамазан in SwiftBook
может это изза того что анимация срабатывает во время создания View
источник

A

Alim in SwiftBook
Не, анимация по нажатию на кнопку происходит
источник

V

Val in SwiftBook
Alim
Не, анимация по нажатию на кнопку происходит
попробуй setNeedsLayout перед анимацией вызывать
источник

A

Alim in SwiftBook
Val
попробуй setNeedsLayout перед анимацией вызывать
Тоже не помогло
источник

A

Alim in SwiftBook
Мб есть гайд как подобную штуку сделать?
источник

А

Алексей in SwiftBook
topConstraint.constant += self.safeAreaInsets.top + 10
а не safeAreaLayoutGuide?
источник

DM

Dmytro Mandych in SwiftBook
Val
попробуй setNeedsLayout перед анимацией вызывать
это ж лучше вообще никогда не вызывать вроде
источник

Р

Рамазан in SwiftBook
Alim
Не, анимация по нажатию на кнопку происходит
по нажатию у тебя создается Label и сразу играет анимацию, попробуй саму анимацию вызвать позже, когда элемент уже встанет на должное место
источник

V

Val in SwiftBook
Dmytro Mandych
это ж лучше вообще никогда не вызывать вроде
че это
источник

DM

Dmytro Mandych in SwiftBook
Val
че это
эплы на какойто wwdc говорили
источник

DM

Dmytro Mandych in SwiftBook
что тип лучше забудьте про эту штуку
источник

V

Val in SwiftBook
Dmytro Mandych
эплы на какойто wwdc говорили
то layoutSubviews()
источник

A

Alim in SwiftBook
Рамазан
по нажатию у тебя создается Label и сразу играет анимацию, попробуй саму анимацию вызвать позже, когда элемент уже встанет на должное место
точняк, layoutSubviews() на родительскую вьюху перед анимацией и заработало, спасибо)
источник