我正在使用以下行创建UITableView水平:
self.tableView.transform = CGAffineTransformMakeRotation(-M_PI * 0.5);
cell.transform = CGAffineTransformMakeRotation(M_PI * 0.5);
我正在尝试做的是在屏幕上以全屏宽度设置中心。 初始化后一切似乎都很好,但是当我旋转设备时,我失去了控制力; /
以下是我用来初始化的方法:
- (void)viewDidLoad
{
[super viewDidLoad];
self.imageDownloadsInProgress = [NSMutableDictionary dictionary];
self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 200, self.view.bounds.size.width)];
self.tableView.autoresizingMask = UIViewAutoresizingNone;
self.tableView.transform = CGAffineTransformMakeRotation(-M_PI * 0.5);
self.tableView.center = self.view.center;
self.tableView.rowHeight = 200.0f;
}
和旋转处理程序,一切都出错了:
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
[UIView beginAnimations:nil context:nil];
if(fromInterfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
fromInterfaceOrientation == UIInterfaceOrientationLandscapeRight)
{
self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 200, self.view.bounds.size.width)];
self.tableView.center = self.view.center;
} else {
self.tableView.frame = CGRectMake(0, 0, self.view.bounds.size.width, 200);
self.tableView.center = self.view.center;
}
[UIView commitAnimations];
}
我想也许在一些调整大小的面具上让它保持垂直中心和水平拉伸?