/ / Powiązanie dwóch ramek UIview / Pozycjonowanie za pomocą Rxswift - ios, swift, rx-swift, rx-cocoa

Powiązanie dwóch UIview fram / Position za pomocą Rxswift - ios, swift, rx-swift, rx-cocoa

chcę się zmienić widok 2 pozycjonuje automatycznie, kiedy widok 1 pozycja zmieni się i powiąże obie pozycje widoku za pomocą Rxswift.

Za pomocą tego staram się obserwować ramkę / pozycję widoku

view.rx.observe(CGRect.self,"frame")
.subscribe(onNext: {
print($0 ?? (0,0))
})

to wydrukuj ramkę przy czasie inicjacji ale po zmianie pozycji widoku za pomocą wiązań

self.constraintHorizontalCenterView.constant = 1000

nic nie drukuje oznacza, że ​​ten kod nie obserwuje pozycji widoku ...

Czy istnieje sposób na ciągłe obserwowanie pozycji widoku lub powiązanie pozycji widoku?

Odpowiedzi:

0 dla odpowiedzi № 1

UIView.frame nie jest zgodny z KVO, więc nie można go bezpośrednio obserwować. W każdym razie jest to niewłaściwe IMHO.

Niektóre zdarzenia powodują zmianę rozmiaru widoku. Zauważ to zamiast tego.


0 dla odpowiedzi nr 2

z jabłka ”rama" // animatable. do not use frame if view is transformed since it will not correctly reflect the actual location of the view. use bounds + center instead.

Zamiast tego możesz obserwować związany lub środkowy.