Bind two UIview fram/Position using Rxswift

▼魔方 西西 提交于 2019-12-06 05:03:06

问题


I want to change view2 position automatically when view1 position will change and bind the both view position using Rxswift.

I try to observe view frame/position using this

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

it print frame on init time but when change view position using constraints

self.constraintHorizontalCenterView.constant = 1000

it print nothing means this code not observe view position...

Is there any way to observe continuously view position or bind view position?


回答1:


from apple 'frame' // 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.

You can observe bound or center to instead.




回答2:


UIView.frame is not KVO compliant so you can't directly observe it. In any case, doing so is inappropriate IMHO.

Some event is causing your view to change size. Observe that instead.



来源:https://stackoverflow.com/questions/44024755/bind-two-uiview-fram-position-using-rxswift

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!