2013-08-31 80 views
0

我有一個UITableViewUIScrollView。滾動視圖是paged。在我的表格視圖中,有一個圖像和一個標題(自定義單元格)。ios更改tableviewcell裏面scrollViewDidScroll

我想根據滾動視圖頁面在任何index上更改單元格的圖像,例如,如果滾動視圖頁面爲4,第4個單元格的圖像將更改(活動的彩色圖像),當進行滾動時查看第5頁,第4張圖像將變爲正常(被動彩色圖像),第5張單元格的圖像將變爲(活動彩色圖像)。

我想在scrollViewDidScroll期間更改圖像。我在互聯網上找不到任何可能的解決方案。有沒有辦法做到這一點?

- (void)scrollViewDidScroll:(UIScrollView *)scrollView { 
    // how do i get page number : 0-768-1536 ---->0 means page1, 768 page 2 ... 
    float currentPos = myScroller.contentOffset.x; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section  { 

return konuBaslikListesi.count; 
} 


- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ 
return 90; 
} 


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

KonularCell *cell = [tableView dequeueReusableCellWithIdentifier:@"KonularCell"]; 
if (cell == nil) { 

    cell =[[[NSBundle mainBundle] loadNibNamed:@"KonularCell" owner:self options:nil] objectAtIndex:0]; 
    [cell setAccessoryType:UITableViewCellAccessoryNone]; 
    [cell setSelectionStyle:UITableViewCellSelectionStyleNone]; 
} 

cell.Konuismi.numberOfLines = 0; 
[cell.Konuismi setLineBreakMode:NSLineBreakByWordWrapping]; 

cell.Konuismi.text=[[[konuBaslikListesi objectAtIndex:indexPath.row]  objectForKey:@"konu"] objectForKey:@"text"]; 

cell.imgKonuisaret.image=[UIImage imageNamed:@"menupassive.png"]; 

return cell; 
} 

回答

0

根據每個頁面的大小和滾動視圖的內容偏移量計算頁碼。頁碼應該存儲在一個屬性中。

CGFloat oldPage = self.page; 

CGFloat offset = scrollView.contentOffset.x; 
CGFloat pageWidth = scrollView.frame.size.width; 

CGFloat page = floorf(offset/pageWidth); 

if (page != oldPage) { 
    self.page = page; 
    [self.tableView reloadData]; 
} 

然後在您的表視圖方法(cellForRowAtIndexPath:),你會是這樣的:

if (self.page == indexPath.row) { 
    cell.imgKonuisaret.image=[UIImage imageNamed:@"menuactive.png"]; 
} else { 
    cell.imgKonuisaret.image=[UIImage imageNamed:@"menupassive.png"]; 
} 
+0

我已經知道了頁碼。你不明白這個問題 –

+0

一旦你知道你更新你的模型的頁面,以反映'當前'圖像,然後'表格視圖'reloadData'。 – Wain

+0

我不知道如何在表格視圖索引處更改圖片 –