2012-10-11 78 views
1

所以我有一個表格視圖控制器,它顯示圖片,然後當您選擇一個單元格時,它會打開一個具有圖像視圖的UIViewController和一個帶有按鈕的導航欄返回或保存圖片。問題是我得到第二個標題欄。我似乎無法刪除它,我無法更改文本,說實話,我似乎無法找到它來自哪裏。當我選擇它時,它會選擇導航欄,但是如果我刪除或隱藏導航欄,它會用按鈕隱藏欄,並且此「標題」欄將保留。UIViewController上的兩個標題欄(UITableViewController的子視圖)

下面是它看起來像在模擬器上運行:

titleBarIssue

我如何能擺脫這件事或至少改變它的標題任何想法?這似乎改變它的唯一的事情是,當我打開一個非常小的圖像將擴大,以填補剩餘的視覺空間,像這樣:

largeTitleBar

我已經刪除了的UIImageView,甚至認爲在筆尖它仍然存在。我甚至刪除了筆尖本身,沒有任何變化。我只能猜測,超級視圖以某種方式加載它,但我找不到任何可能導致它的東西。如果它來自單元格方法,它將具有圖像的標題,而不僅僅是「標題」。

下面是來自上海華(它是一個表視圖控制器),其與該問題將初始化屏幕的代碼:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
NSUInteger row = [indexPath row]; 
NSString *title = [completePicturesList objectAtIndex:row]; 
NSArray *sysPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *docDirectory = [sysPaths objectAtIndex:0]; 
NSString *imagePath = [NSString stringWithFormat:@"%@/%@", docDirectory, title]; 

UIImage *image = [[UIImage alloc] initWithContentsOfFile:imagePath]; 

GCDetailViewController *childController = [[GCDetailViewController alloc] init]; 
childController.mainImage = image; 
[self.navigationController pushViewController:childController animated:YES]; 

}

和這裏是一個的表示式兩份的UIViewController的viewWillAppear中:

- (void)viewWillAppear:(BOOL)animated { 
[super viewWillAppear:animated]; 

mainImageDisplay.image = mainImage; 

UIBarButtonItem *editButton = [[UIBarButtonItem alloc] initWithTitle:@"Save" 
                   style:UIBarButtonItemStyleBordered target:self action:@selector(saveImageToPhotoAlbum)]; 
self.navigationItem.rightBarButtonItem = editButton; 
NSString *titleText = [NSString stringWithFormat:@"Image Review"]; 
self.title = titleText; 

該類中唯一的其他方法保存的照片。此外,沒有筆尖被分配給這個,所以它不在那裏。至於self.title,以及如果我改變它改變了「圖片評論」的文字而不是它下面的「標題」。如果我嘗試隱藏導航欄,它會隱藏圖像查看欄並且標題欄會保留。

只是爲了好玩,這裏的cellForRow方法,看看也許它的東西在裏面:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

{

static NSString *CellIdentifier = @"newCell"; 
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
if (cell == nil) { 
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; 
} 

NSUInteger row = [indexPath row]; 
NSArray *sysPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *docDirectory = [sysPaths objectAtIndex:0]; 
NSString *cellTitle = [completePicturesList objectAtIndex:row]; 
NSString *imagePath = [NSString stringWithFormat:@"%@/%@", docDirectory, cellTitle]; 
UIImage *image = [[UIImage alloc] initWithContentsOfFile:imagePath]; 

cell.textLabel.text = cellTitle; 
cell.imageView.image = image; 

return cell; 

}

+0

你是從一個筆尖製造出來的嗎?聽起來像它存在於nib文件中,但沒有連接到代碼中的任何東西。 – Sid

+0

這就是我的想法,我確實在故事板中使用了一個筆尖並將其連接到UIViewController類,但筆尖中的導航欄是頂部欄,底部欄在筆尖上的任何位置都不可見。 –

+0

編輯:我已經刪除了附有視圖控制器的問題,它仍然存在。 –

回答

1

請原諒我,如果這也不行回答我自己的問題,但我確實找到了解決方案。

標題欄來自一箇舊筆尖。我在故事板上製作了它,添加了欄,然後改變了我的想法,我想如何處理它並刪除它。

無論出於何種原因,當我重新加載應用程序時,無論是在模擬器還是在手機上,都沒有覆蓋最初導致此問題的舊筆尖(即使它已從xCode中刪除)。我只是從手機和模擬器中刪除了應用程序,然後重新加載,標題欄消失了。

+0

阿哈....所以它是從某個地方的筆尖:D – Sid

相關問題