开发者

Autoresizing subclassed UITableViewCell subviews

I've subclassed UITableViewCell and incorporated some subviews via the layoutSubviews method. All views are allocated and initiated in the initWithStyle method, and frames are set in the layoutSubviews method, like so:

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;

Setting the shouldAutoRotateOrientation to YES in the viewController rotates the NavigationController, tableView and UIToolbar appropriately, b开发者_StackOverflow社区ut the contents of the tableViewCells don't move. I'm not clear on where or what to add as far as AutoResizingMasks. The combinations I've tried so far haven't done anything. Can someone give me a hand?

Thanks!


The answer I've come up with is to use conditional coding to place view frames, dependent on orientation, in the layoutSubviews method

-(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;
    }
}

Seems hacked together but it works in subclassed UITableViewCells

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜