段底栏与 pageViewController 结合使用效果不佳

问题描述

我将segment与pageViewController结合使用,并在我的segment下创建一个视图作为底部栏。当我使用手势更改我的 pageViewController 内容时,这很奇怪。我的底部栏的 frame.origin.x 总是重置为低于我的段的第一部分。但是当我点击段时底部栏会正常移动。任何人都可以帮忙吗?谢谢。

演示视频https://youtu.be/h2QUMNRZX_M

//this line print the right x in the view
print("buttonbar x: \(self.buttonbar.frame.origin.x)")

dispatchQueue.main.async {

        UIViewPropertyAnimator.runningPropertyAnimator(withDuration: 0.3,delay: 0,animations: {
                //this line always print the x in the segment first section x
                print("x: \(self.buttonbar.frame.origin.x)")
                self.buttonbar.frame.origin.x = (self.messageSegment.frame.width / CGFloat(self.messageSegment.numberOfSegments)) * CGFloat(self.messageSegment.selectedSegmentIndex) + self.messageSegment.frame.origin.x
            },completion: { _ in
                print("x: \(self.buttonbar.frame.origin.x)")
                
            })
        }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...