我正在使用帶標題,電話和電子郵件的分段控件。我從地址簿獲取聯繫人詳細信息並將它們存儲爲字典數組。每個字典都帶有「名稱」,「電子郵件」,「圖像」,「電話」鍵。我的要求是在電子郵件被點擊時只顯示在桌面視圖中的電子郵件的聯繫人,並且在電話按鈕在段控制上被點擊時顯示與電話的聯繫人。請幫我實現這一點。如何更改不同分段控制索引的數據源
回答
我們可以在這裏實現這種多ways.in我用的是Tag
概念,例如
第1步
在ViewDidLoad
,設置爲您tableview.tag=1;
步驟2
- (IBAction)segBtnTapped:(id)sender {
if(yourSegmentControl.selectedSegmentIndex==0){
// email
tableview.tag=1;
}
else if(segControlForColor.selectedSegmentIndex==1){
// phone
tableview.tag=2;
}
else{
// titles
tableview.tag=3;
}
[yourtableView reloadData];
}
步驟3
沒有必要改變對部分或任何numberof行只是叫你CellForRowatIndexpath
和didSelectrowatIndexpath
,爲前
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if(tableview.tag == 1)
{
//code for email
cell.textLabel.text =[[yourarrayName objectAtIndex:indexPath.row]objectForKey:@"email"];
}
else if(tableview.tag == 2)
{
//code for phone
cell.textLabel.text =[[yourarrayName objectAtIndex:indexPath.row]objectForKey:@"phone"];
}
else if(tableview.tag == 3)
{
//code for titles
cell.textLabel.text =[[yourarrayName objectAtIndex:indexPath.row]objectForKey:@"titles"];
}
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if(tableview.tag == 1)
{
//code for email
NSLog(@"email==%@",[[yourarrayName objectAtIndex:indexPath.row]objectForKey:@"email"]);
}
else if(tableview.tag == 2)
{
//code for phone
NSLog(@"phone==%@",[[yourarrayName objectAtIndex:indexPath.row]objectForKey:@"phone"]);
}
else if(tableview.tag == 3)
{
NSLog(@"title==%@",[[yourarrayName objectAtIndex:indexPath.row]objectForKey:@"titles"]);
}
}
不錯。但是在上面的代碼中,我可以直接在桌面視圖中顯示電話號碼和電子郵件,但是我希望一次顯示帶有電子郵件的聯繫人姓名,下次聯繫電話號碼。 – Naveen
我們可以修改任何我們需要的chioce是你的 –
你可以舉一些例子 –
它可以通過在下面的委託方法中檢查segmentedControl索引狀態來完成。
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
if segmentedControl.selectedSegmentIndex == 0 {
// Load phone values from dictionary
....
}
else {
// Load email values from dictionary
....
}
}
不要忘記當分段控制索引被更改時重新加載表。
我可以做到這一點,但我的字典是有關鍵「名稱」,「電子郵件」,「電話」的值。在一種情況下,我想顯示有電子郵件的聯繫人,並在接下來我需要顯示電話號碼的聯繫人。我怎樣才能分開他們。 – Naveen
遍歷字典數組,並使用selectsegmentindex的「phone」鍵的值0 – AnonymousRacer
- 1. 分段控件更改tableView數據源
- 2. Swift分段控件更改索引事件,TableView不更新
- 3. 分配Kentico智能搜索索引到CMSSearchResults控制數據源
- 4. 如何更改字段中的索引?
- 5. 如何在XtraReport(Devexpress)中更改不同數據源的數據源?
- 6. 更改分段的控制段背景不起作用
- 7. 源控制分支的不同方法
- 8. 分段控制改變時更改視圖控制器
- 9. 如何更改數據源
- 10. 如何更改索引控制器的默認動作zend
- 11. 使用分層索引更改數據幀中的數據
- 12. 如何通過swipegesture更改分段控制的值?
- 13. 如何用分段控制器更改按鈕的文本?
- 14. 如何更改ios分段控制的一側大小?
- 15. 根據用戶默認值啓用分段控制器索引
- 16. 更改被點擊的單元索引處的數據源
- 17. 如何根據分段控件的設置更改UI
- 18. 如何使用gnuplot從不同索引中分割數據?
- 19. 如何更改XCode中不同控制器的模型數據4.2
- 20. dojox.data.QueryReadStore。如何更改包含數據的數組的索引?
- 21. 如何更改不同部分中的uitableviewcell數據?
- 22. 如何獲取索引資源數據?
- 23. 如何更改我的控制器中的索引方法更幹DRY
- 24. 更改數據幀的索引號
- 25. 更改數據幀索引整數
- 26. 如何更改會員的數據源?
- 27. 更改屬性檢索數據源
- 28. Solr的 - 索引信息從不同的數據源合併
- 29. 如何更改搜索應用程序的SQL數據源?
- 30. 如何更改_POST索引
你店在單個陣列德所有字典。同時顯示您的細分控制動作,很容易解決 –