Сократите табличный вид и передвиньте вид под ним - PullRequest
2 голосов
/ 12 февраля 2011

В основном, по щелчку ячейки, я хочу, чтобы таблица анимировалась вверх (сокращая ее высоту), и чтобы отображалось подробное представление, занимающее пространство, которое теперь доступно ..

У меня есть tableViewсокращается должным образом, но у меня возникают проблемы при перемещении второго представления в ..

CGRect frame = self.tableview.frame; // (drilldown table)
if(frame.size.height > 600)
{
    CGRect detailFrame = StudyDetailView.view.frame; // (detailed view I want to slide up
    detailFrame.origin.y = (frame.size.height-200);
    self.tableview.autoresizingMask = UIViewAutoresizingNone;
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:.3];
    StudyDetailView.view.frame = detailFrame; // <-- this does not work.
    self.tableview.frame = CGRectMake(0,0,frame.size.width,frame.size.height-200); // <-- this works.

    [UIView commitAnimations];


}

Обновление Мое исправление:

StudyListDetailController.m

- (void)viewDidLoad {
    CGRect frame = self.view.frame;
    self.view.frame =  CGRectMake(0,900,frame.size.width,frame.size.height);
    [super viewDidLoad];
}

В строке моей таблицы выберите ...

if(frame.size.height > 600)
{

    CGRect detailFrame = StudyDetailView.view.frame;

    self.tableview.autoresizingMask = UIViewAutoresizingNone;
    detailFrame.origin.y = (frame.size.height-200);
    detailFrame.size.height = 200;
    [self.view addSubview:StudyDetailView.view];
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:.3];

    self.tableview.frame = CGRectMake(0,0,frame.size.width,frame.size.height-200);
    StudyDetailView.view.frame = detailFrame;
    [UIView commitAnimations];

}

1 Ответ

0 голосов
/ 12 февраля 2011

где вы изначально установили StudyDetailView.view.frame?Похоже, вы только установили значение Y.Попробуйте выполнить

NSLog(NSStringFromCGRect(detailFrame));

и посмотрите, что отображается в консоли. Я предполагаю, что будет установлено только значение y, а ширина и высота равны 0.

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