Я установил сгруппированную таблицу в своем приложении, и нажатие на новые представления прекрасно работает. За исключением одного. Заголовки и макет стека все странные. С его помощью вы можете использовать поиск по карте. По всем вопросам, связанным с этим вопросом, мы указываем:iPhone: Сгруппированные таблицы и проблемы с контроллером навигации
- У меня есть два раздела в моем столе.
- Когда я нажимаю на первую строку в первом разделе, она возвращает меня в правильное представление, но заголовок нового представления - это имя первой строки во втором разделе таблицы.
- В свою очередь, вторая строка в заголовке первой секции является второй строкой во втором разделе.
Если я нажимаю на втором ряду во второй части таблицы просмотра корня, кнопка навигации идет на второй строке в первом части таблицы.
Так вот схема моего стола:
Таблица Раздел 1
Row 1
Row 2
Row 3
Таблица Раздел 2
строка A
Ряд B
Ряд C
Так что, если я нажимаю на строке 3, название толкаемом зрения Ряд C. Кнопка навигации говорит мне, чтобы вернуться к строке 3, то в конечном итоге в конечном итоге на корневой вид.
Вот мой файл реализации толкая просмотров:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
//CSS
if ([[arryClientSide objectAtIndex:indexPath.row] isEqual:@"CSS"])
{
CSSViewController *css = [[CSSViewController alloc] initWithNibName:@"CSSViewController" bundle:nil];
[css setTitle:@"CSS"];
[self.navigationController pushViewController:css animated:YES];
}
//HTML
if ([[arryClientSide objectAtIndex:indexPath.row] isEqual:@"HTML"])
{
HTMLViewController *html = [[HTMLViewController alloc] initWithNibName:@"HTMLViewController" bundle:nil];
[html setTitle:@"HTML"];
[self.navigationController pushViewController:html animated:YES];
}
//JS
if ([[arryClientSide objectAtIndex:indexPath.row] isEqual:@"JavaScript"])
{
JSViewController *js = [[JSViewController alloc] initWithNibName:@"JSViewController" bundle:nil];
[js setTitle:@"JavaScript"];
[self.navigationController pushViewController:js animated:YES];
}
//PHP
if ([[arryServerSide objectAtIndex:indexPath.row] isEqual:@"PHP"])
{
PHPViewController *php = [[PHPViewController alloc] initWithNibName:@"PHPViewController" bundle:nil];
[php setTitle:@"PHP"];
[self.navigationController pushViewController:php animated:YES];
}
//SQL
if ([[arryServerSide objectAtIndex:indexPath.row] isEqual:@"SQL"])
{
SQLViewController *sql = [[SQLViewController alloc] initWithNibName:@"SQLViewController" bundle:nil];
[sql setTitle:@"SQL"];
[self.navigationController pushViewController:sql animated:YES];
}
& массив кормления данные таблицы:
- (void)viewDidLoad {
[super viewDidLoad];
arryClientSide = [[NSArray alloc] initWithObjects:@"CSS",@"HTML",@"JavaScript",nil];
arryServerSide = [[NSArray alloc] initWithObjects:@"Objective-C", @"PHP",@"SQL",nil];
// arryResources = [[NSArray alloc] initWithObjects:@"HTML Colour Codes", @"Useful Resources", @"About",nil];
self.title = @"Select a Language";
[super viewDidLoad];
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
// self.navigationItem.rightBarButtonItem = self.editButtonItem;
}
Любая помощь будет значительно оценили.
Jack
Священные утечки памяти, Бэтмен! (Каждый раз, когда вы 'alloc/init' новый viewController, вы должны« выпустить »его после того, как вы его нажали) –
@Dave +1 для * batman *! – bddckr