自动将视图放置在下一个逻辑位置(如布局管理器)
||
我正在开发一个iPad应用程序,它允许用户选择\“ widgets \”出现在屏幕上。屏幕分为两列,小部件将放置在左列或右列中。每个窗口小部件都是一个视图控制器,其宽度固定为静态,但高度随窗口小部件的内容而变化。我正在寻找一种将小部件放置在屏幕上的方法,以便将它们自动放置在下一个逻辑位置-类似于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];
}
谢谢
没有找到相关结果
已邀请:
2 个回复
完趣镐
类,可以完全实现您想要的内容,包括分页,图标重新排序以及删除时的抖动效果-就像真正的Springboard一样。一旦您了解了Three20,就非常容易使用。 顺便说一句,这是官方的Facebook应用程序使用的那个... 如果您不想使用Three20,可以简单地看一下实现来决定。
桔马牛