我想在一个视图中均匀分布四个按钮。在情节提要中,我将按钮放置在纵向视图中,因此间距是正确的。但是我没有找到正确的约束设置来使按钮在任何视图宽度(纵向 iPad 或横向方向)下均匀分布。因此,我添加了以下代码片段,使用第一个和第四个按钮作为锚点将按钮移动到所需位置:
// evenly space the buttons
CGPoint leftPoint = self.button1.center;
CGPoint rightPoint = self.button4.center;
CGFloat width = rightPoint.x - leftPoint.x;
leftPoint.x += width / 3;
rightPoint.x -= width / 3;
self.button2.center = leftPoint;
self.button3.center = rightPoint;
定位代码工作正常,但我的困难是找到进行调整的最佳位置。- (void)viewDidAppear:(BOOL)animated 似乎是最好的地方。但是,如果我继续使用不同的视图,当我返回此视图时,按钮将恢复到它们的初始(故事板约束)指定位置。viewDidAppear 代码将被再次调用,但它没有成功移动按钮。就好像他们的位置在那个时间点被锁定了一样。
我想我的主要问题是是否有办法使用约束来实现我所追求的均匀间距。或者次要问题是如何覆盖这两个按钮的自动定位。