所以我有一个显示图片的表格视图控制器,然后当你选择一个单元格时,它会打开一个带有图像视图的UIViewController和一个带有按钮的导航栏,可以返回或保存图像。问题是我得到了第二个标题栏。我似乎无法删除它,我无法更改文本,说实话我似乎无法找到它来自哪里。当我选择它时,它会选择导航栏,但如果我删除或隐藏导航栏,它会用按钮隐藏栏,并保留此“标题”栏。
以下是在模拟器中运行的内容:
关于如何摆脱这件事或至少改变它的标题的任何想法?唯一似乎改变它的是当我加载一个非常小的图像时,它会扩展以填充剩余的视图空间,如下所示:
我删除了UIImageView甚至是nib中的视图,它仍然存在。我甚至删除了笔尖本身并没有任何改变。我只能猜测superview以某种方式加载它,但我找不到任何可能导致它的东西。如果它来自单元格方法,它将具有图像的标题而不仅仅是“标题”。
以下是Superview(表视图控制器)中的代码,用于初始化屏幕并显示问题:
- (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,如果我改变它,它改变了“Image Review”的文本,而不是它下面的“标题”。如果我试图隐藏导航栏,它会隐藏图像查看栏并保留标题栏。
只是为了好玩,这里是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 :(得分:1)
如果不能回答我自己的问题,请原谅我,但我确实找到了解决方案。
标题栏来自旧笔尖。我在故事板中创建了它,添加了条形图,然后改变了我的想法,我想要接近它并将其删除。
无论出于何种原因,当我在模拟器和手机上重新加载应用程序时,它都没有覆盖最初导致此问题的旧笔尖(即使它已从xCode中删除)。我只是从手机和模拟器中删除了应用程序并重新加载它,标题栏就消失了。