我正在使用帶標題,電話和電子郵件的分段控件。我從地址簿獲取聯繫人詳細信息並將它們存儲爲字典數組。每個字典都帶有「名稱」,「電子郵件」,「圖像」,「電話」鍵。我的要求是在電子郵件被點擊時只顯示在桌面視圖中的電子郵件的聯繫人,並且在電話按鈕在段控制上被點擊時顯示與電話的聯繫人。請幫我實現這一點。如何更改不同分段控制索引的數據源
回答
我們可以在這裏實現這種多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. 分配Kentico智能搜索索引到CMSSearchResults控制數據源
- 2. 如何在XtraReport(Devexpress)中更改不同數據源的數據源?
- 3. 分段控制改變時更改視圖控制器
- 4. 源控制分支的不同方法
- 5. 如何更改索引控制器的默認動作zend
- 6. 如何更改ios分段控制的一側大小?
- 7. 根據用戶默認值啓用分段控制器索引
- 8. 如何更改XCode中不同控制器的模型數據4.2
- 9. 如何根據分段控件的設置更改UI
- 10. dojox.data.QueryReadStore。如何更改包含數據的數組的索引?
- 11. 更改數據幀的索引號
- 12. Solr的 - 索引信息從不同的數據源合併
- 13. 如何更改複製到不同對象的JSON的引用
- 14. 如何更改搜索應用程序的SQL數據源?
- 15. 如何在pandas的數據框中編制索引時間段?
- 16. 如何區分段控制中的段?
- 17. 如何在同一個id但不同索引內更新表中的數據
- 18. 在ElasticSearch中重新索引索引以更改分片數量
- 19. 如何更改熊貓數據框中的單個索引值?
- 20. 更改數據幀索引值對
- 21. zend:對不同的控制器使用相同的索引?
- 22. 使用版本控制元數據自動更改源代碼
- 23. 根據選定的分段讀取.plist的不同部分索引
- 24. Azure的搜索索引數據源
- 25. 不通過控制數組更改字段的屬性
- 26. 不加載到變量從數據庫中控制器的索引部分
- 27. 如何更改CakePHP 3.3.3中所有控制器的索引操作的URL
- 28. 不同類型的數據庫索引?
- 29. 如何在使用分段時更改數據更改後的視圖?
- 30. 如何將基於數據源視圖和報表模型的源更改爲不同的數據庫?
你店在單個陣列德所有字典。同時顯示您的細分控制動作,很容易解決 –