iPhone - кнопка внутри ячейки, чтобы вывести новый вид на экран

Ребята, кажется, у меня возникла проблема. У меня есть приложение (на основе просмотра), в котором UITableView отображается в нижней половине экрана, при выборе ячейки затем открывается пользовательская ячейка, занимающая нижнюю часть экрана. У меня есть кнопка «Дополнительная информация» в правом нижнем углу этой ячейки, и когда она выбрана, я хочу, чтобы она открыла новый файл NIB, однако единственное, что мне удается сделать, это удалить tableView с экрана ... Я не уверен, что использовать перед «addSubview», потому что это не self.view, как я думал.

- (void)moreInfoButton:(id)selector{
    NSLog(@"Button Pressed");
    MoreInfo *mivc = [[MoreInfo alloc] initWithNibName:@"MoreInfo" bundle:nil];
    [self.tableview removeFromSuperview];
    //[self.view addSubview:(UIView *)mivc];
    [self.navigationController pushViewController:mivc animated:YES];
    UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"List of Events" style:UIBarButtonItemStylePlain target:nil action:nil];
    self.navigationItem.backBarButtonItem = backButton;
    [backButton release];
    [mivc release];

}

Кроме того, (UIView *) тоже не помогает. Какие-либо предложения?

P.S. UITableView вообще не использует navigationController, это просто таблица, может ли это быть проблемой?

Кроме того, что, если я решил просто нажать новое представление и не использовать для этого представления navigationViewController, возможно ли это?


person Alex Muller    schedule 22.03.2011    source источник


Ответы (2)


Я не могу ответить на ваш вопрос о навигационном контроллере, не увидев больше вашей программы. Чтобы ответить на ваш другой вопрос, без использования навигационного контроллера вы можете просто добавить новое представление с помощью:

newViewVC = [[NewViewVC alloc]initWithNibName:@"NewViewVC" bundle:nil];
[self.view addSubview:newViewVC.view];

Обычно newViewVC объявляется в вашем .h, поэтому вы можете выпустить его позже.

person Cephi    schedule 22.03.2011
comment
при использовании этого способа в NewViewVC у меня есть кнопка для возврата к предыдущему представлению с ее содержимым, просто [self.view removeFromSuperview], однако она закроется только при двойном нажатии, по какой причине? - person Alex Muller; 23.03.2011
comment
Одна вещь, которая могла бы вызвать это, была бы, если бы вы каким-то образом дважды создавали и добавляли NewViewVC. Если вы еще не видели их, посмотрите видеоролики Стэнфордского университета по разработке приложений для iPhone: ссылка - person Cephi; 23.03.2011

Я нашел простой способ: нажать его как модальный.

- (void)moreInfoButton:(id)selector{
    NSLog(@"Button Pressed");
    MoreInfo *mi= [[MoreInfo alloc] initWithNibName:@"MoreInfo" bundle:nil];
    [self presentModalViewController:mi animated:YES];
}

Все, что нужно, это кнопка «Назад» в новом файле пера.

person Alex Muller    schedule 22.03.2011