我有一个应用程序,用户可以在其中随意添加我称之为调色板的东西。项目 ( UIViews
) 可以从一个调色板拖到另一个调色板。我想我可以使用该sizeToFit
方法在添加或删除项目时自动调整调色板的大小,但似乎没有调整大小。
该文档指出该方法将大小调整为最合适的大小以适合子视图。这不包括UIViews
我以编程方式添加的内容吗?
sizeToFit
如果我可以让内置方法为我工作,我真的不必编写自己的方法。但它似乎什么也没做。这是我尝试过的代码:
CGPoint oldCenter = self.pieceBeingMoved.center;
CGPoint newCenter = [self.pieceBeingMoved.superview convertPoint:oldCenter toView:destinationView];
[destinationView addSubview:self.pieceBeingMoved];
self.pieceBeingMoved.center = newCenter;
if (destinationView.tag == 20000) {
NSLog(@"DestinationView is a palette, so resize it from %@",NSStringFromCGRect(destinationView.frame));
[destinationView sizeToFit];
NSLog(@"DestinationView resized to %@",NSStringFromCGRect(destinationView.frame));
}
添加子视图之前和之后的大小相同。添加的子视图是我运行此测试时唯一的子视图,子视图的大小约为它要移动到的调色板大小的 5%。那么为什么不调整视图的大小呢?我需要自己做吗?