我已經在我的應用上設置了分組表,並推送到新的視圖工作正常。除了一件事。標題和堆棧佈局都很奇怪。這是故障:iPhone:分組表和導航控制器問題
- 我在我的表中有兩個部分。
- 當我點擊第一部分的第一行時,它將我帶到正確的視圖,但新視圖的標題是表格第二部分中第一行的名稱。
- 反過來,第一部分標題中的第二行是第二部分標題中的第二行。
如果我在根視圖表的第二部分中的第二行挖掘,導航按鈕進入該表的第一部第二行。
表第1
行1
行2
行3
表第2
行答:我的表的圖
因此,這裏的
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;
}
任何幫助將是大大讚賞。
傑克
聖內存泄漏,蝙蝠俠! (每次你'alloc/init'一個新的viewController時,你應該在釋放它之後釋放它) – 2010-05-06 18:58:45
@Dave +1 * * batman *! – bddckr 2010-05-06 21:18:53