在詳細視圖中,我試圖從我的UITableView中動態設置導航項目的標題。我想將它設置爲NSString值 - 例如,如果我的標題是「土豆」,我想獲取該字符串並將其設置爲我的視圖控制器中的變量。如何獲取self.navigationItem.title的值並設置爲新變量?
下面是我到目前爲止的代碼。我試着將這個新變量設置爲我的UILabel文本,它總是輸出字符串「Detail」 - 我永遠無法得到實際的標題值。
NSString *theTitleValue = self.navigationItem.title;
self.detailDescriptionLabel.text = theTitleValue;
我應該指出,如果我手動設置一個字符串到我的描述標籤(UILabel)它工作正常。只有當我拉self.navigationitem.title它回來的「詳細信息」
self.detailDescriptionLabel.text = @"Some stuff here LMAO!!!";
所以上面會輸出單行串在我的標籤。有關如何獲取當前導航項的文字字符串值的任何想法?
編輯: 這是從我的表視圖,推動這個新的細節視圖和標題設置的代碼。還有一種方法可以將表格視圖中的這個變量傳遞給細節視圖嗎?
我的意思是currentLabel的價值正是我需要抓住的。但是,下面的代碼來自MasterViewController.m,我需要DetailViewController.m中的currentLabel變量。我不知道在視圖控制器之間傳遞變量的方法,所以在我看來,解決這個問題的最簡單方法是從DetailViewController的導航標題中提取值。
# MasterViewController.m
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// creating NSString value for current vegetable in array
NSString *currentLabel = [self.vegetablesListing objectAtIndex:indexPath.row];
DetailViewController *detailVC = [self.storyboard instantiateViewControllerWithIdentifier:@"VegetablesDetailViewCont"];
[self.navigationController pushViewController:detailVC animated:YES];
detailVC.navigationItem.title = currentLabel;
}
奇怪,這是我試過了,但它拉動標籤從我的UITableView代替。所以有了這個價值,我就可以在我的清單中獲得每個蔬菜細節視圖的標籤文本「蔬菜」 - 土豆,胡蘿蔔,青豆等。也許我設置的主要細節錯誤?我用更多的代碼編輯我的原始帖子。 – Jake
哦!你在你的應用程序中編碼了什麼...? – samfisher
我的表格視圖裏面有didSelectRowAtIndexPath:方法。在這裏我設置了變量'* currentLabel',它從數組中提取動態數據並填充我的表。我需要將這個String值傳遞到下一頁 - 我已經通過設置navigationItem.title來實現這一點,所以我想我可以只取這個值。你上面給我的代碼是拉動TableView標題,而不是detailView標題。這就是我遇到的問題 - 如果我能提供更多信息,請詢問。但是我在Obj-C方面還是比較新的,所以這有點困難。 – Jake