我正在开发一个iPad应用程序,允许用户选择“小部件”以显示在屏幕上。屏幕分为两列,小部件将放置在左侧或右侧列中。每个小部件都是一个视图控制器,具有固定宽度的静态但取决于小部件内容的高度不同。我正在寻找一种方法将窗口小部件放置在屏幕上,以便它们自动放置在下一个逻辑位置 - 类似于Java中的布局管理器。自动将视图置于下一个逻辑位置(如布局管理器)
我创建了方法addWidget,它跟踪每列中所有小部件的高度。然后将小部件添加到最小高度的列中。这作品,但我正在寻找一个更优雅的方式来做到这一点,或想法改善目前的解决方案。
- (void) addWidget:(UIViewController *)controller {
if(leftHeight <= rightHeight) {
controller.view.frame = CGRectMake(20.0, leftHeight, controller.view.bounds.size.width, controller.view.bounds.size.height);
leftHeight = leftHeight + controller.view.bounds.size.height + 20;
}
else {
controller.view.frame = CGRectMake(self.view.bounds.size.width-controller.view.bounds.size.width-20, rightHeight, controller.view.bounds.size.width, controller.view.bounds.size.height);
rightHeight = rightHeight + controller.view.bounds.size.height + 20;
}
[scrollView addSubview:controller.view];
}
感谢