自动化子类UITableViewCell子视图

时间:2010-04-27 15:23:01

标签: iphone uitableview autoresize

我已经将UITableViewCell子类化,并通过layoutSubviews方法合并了一些子视图。所有视图都在initWithStyle方法中分配和启动,帧在layoutSubviews方法中设置,如下所示:

initWithStyle:... {
UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectZero];
myLabel.someProperties = Configured;
[self.contentView addSubview:myLabel];

layoutSubviews {
CGRect labelRect = CGRectMake(10.0f, 5.0f, 35.0f, 180.0f);
myLabel.frame = labelRect;

在viewController中将shouldAutoRotateOrientation设置为YES会适当地旋转NavigationController,tableView和UIToolbar,但tableViewCells的内容不会移动。就AutoResizingMasks而言,我不清楚添加的位置或内容。到目前为止我尝试过的组合没有做任何事情。有人可以帮我一把吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

我提出的答案是使用条件编码在layoutSubviews方法中根据方向放置视图帧

-(void)layoutSubviews {
    //For portrait mode (NOT PORTRAIT UPSIDE DOWN)
    if ( UIDeviceOrientationIsPortrait([[UIDevice currentDevice]orientation]) ) {
        CGRect portraitFrame = CGRectMake(Portrait Frame Coordinates);
        myLabel.frame = portraitFrame;
    } else {
    //For landscape modes
        CGRect landscapeFrame = CGRectMake(landscape frame coordinates);
        myLabel.frame = landscapeFrame;
    }
}

似乎一起被黑了,但它在子类UITableViewCells

中工作