0
我有一個UITableViewController與一些靜態單元格。每個單元格都有正確的細節風格。通過觸摸其中的一個,我會轉到下一個控制器。在下一個控制器中,我有兩個帶有複選標記的單元。在「正確的細節」中顯示信息UITableViewCell
問:如何通過在NEXT控制器上只觸摸一個單元來查看「正確的細節」信息?
我有一個UITableViewController與一些靜態單元格。每個單元格都有正確的細節風格。通過觸摸其中的一個,我會轉到下一個控制器。在下一個控制器中,我有兩個帶有複選標記的單元。在「正確的細節」中顯示信息UITableViewCell
問:如何通過在NEXT控制器上只觸摸一個單元來查看「正確的細節」信息?
根據上述評論,我對你想達到的目標有一個基本的概念。您想使用[cell setAccessoryView:aView];
而不是setAccessoryType
。
對應您要顯示多少信息(如果它只是一個小圖像或一個巨大的textView)有更好的選擇。
我建議創建一個自定義UITableViewCell
子類。這些可以在IB佈局,你可以很容易地連接IBOutlets,並把它的自定義方法和屬性:
- (void)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
MUTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];
if(!cell) {
cell = (MUTableViewCell *)[[[NSBundle mainBundle] loadNibNamed:@"MUTableViewCell" owner:nil options:nil] objectAtIndex:0];
}
[cell setStoredInfoText:[inforSourceArray objectAtIndex:[indexPath row]]];
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
MUTableViewCell *cell = (MUTableViewCell *)[tableView cellForRowAtIndexPath:indexPath];
[cell callYourCustomMethod];
[cell setInfoFieldText:@"my informational text"];
// or either display the information you set later to the cell in -cellForRowAtIndexPath
[cell setInfoFieldText:[cell storedInfoText]];
// you can also merge the above methods to a method called displayInfo which then gets the storedText property internally:
[cell displayInfo];
}
MUTableViewCell.h
@property (nonatomic, retain) NSString *storedInfoText;
@property (nonatomic, strong) IBOutlet UILabel *label;
- (void)setInfoFieldText:(NSString *)text;
- (void)displayInfo;
MUTableViewCell.m
- (void)setInfoFieldText:(NSString *)text {
[_label setText:text];
}
- (void)displayInfo {
[_label setText:_storedInfoText];
}
您的問題不清楚。請澄清你的意思是「正確的細節風格」和「正確的細節」。我們也不會理解什麼「我如何能看到正確的細節」意味着什麼。你想要展示什麼?你想在哪裏顯示它? –
@Julian你知道我可以用正確的細節風格製作UITableViewCell。我想通過在NEXT控制器上觸摸一個單元來選擇正確的細節樣式信息 – Multirut
您的意思是accessoryType嗎?或者accessoryView? –