Добавить «подробный вид» в UITableView - PullRequest
0 голосов
/ 22 августа 2010

У меня есть UITabbar с несколькими контроллерами представления.Одним из них является UITableView.Табличное представление хранится в наконечнике, где владельцем файла является UITableViewController.

Я бы хотел, чтобы табличное представление показывало «подробное представление» (пользовательское представление с UILabel и некоторыми другими элементами), как только ячейка таблицы будетвыбран.Мой подход состоял в том, чтобы добавить новое представление сведений в качестве дочернего представления в UITableView:

[self.view addSubView:[detailsViewController view]]

К сожалению, это не создает желаемого эффекта.Как подпредставление UITableView, я могу прокрутить за пределы просмотра дополнительных сведений и увидеть записи базовой таблицы.UINavigationBar является опцией, но поскольку нет более глубокой иерархии, я бы предпочел простой пользовательский вид с кнопкой закрытия.Есть предложения?

Ответы [ 2 ]

0 голосов
/ 19 октября 2010

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

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

// If the view you want to present modally is called DetailViewController, do the following.

DetailViewController *dvCon = [[dvCon alloc] initWithNibName:@"DetailViewController" bundle:nil];

UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:dvCont];
[self presentModalViewController:navigationController animated:YES];

[navigationController release];
[dvCont release];   


}

Удачи!

0 голосов
/ 22 августа 2010

Замените ваш UITableViewController на UIViewController. Затем добавьте UITableView к вашему контроллеру представления. Установите делегат и источник данных вашего табличного представления к вашему контроллеру представления. Теперь вы можете добавить подпредставление в контроллере представления без прокрутки, сохраняя при этом ваш просмотр таблицы:).

Edit: Или вы можете остановить прокрутку табличного представления при появлении всплывающего окна.

[(UIScrollView *)self.view setScrollEnabled:NO];
CGRect rect = self.popupview.frame;
rect.origin.y = [(UIScrollView *)self.view contentOffset].y;
self.popupview.frame = rect;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...