水平tableView方向更改

时间:2013-09-21 19:35:52

标签: ios tableview device-orientation

我正在使用以下行创建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];
}

我想也许在一些调整大小的面具上让它保持垂直中心和水平拉伸?

0 个答案:

没有答案