Авторазмер подклассов UITableViewCell подпредставлений - PullRequest
1 голос
/ 27 апреля 2010

Я создал подкласс 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;

При установке для shouldAutoRotateOrientation значения YES в viewController происходит вращение NavigationController, tableView и UIToolbar, но содержимое tableViewCells не перемещается. Я не ясно, где или что добавить, насколько AutoResizingMasks. Комбинации, которые я пробовал до сих пор, ничего не сделали. Кто-нибудь может мне помочь?

Спасибо!

1 Ответ

1 голос
/ 28 апреля 2010

Ответ, который я придумал, заключается в использовании условного кодирования для размещения рамок вида, зависящих от ориентации, в методе 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...