iCarousel项目索引更改不会与UITextView中显示的随机详细信息同步

时间:2013-04-10 11:32:37

标签: ipad ios6 icarousel

我正在使用iOS6,在我的iPad应用程序中,我需要在其下方的textView中显示所选轮播项目的轮播视图和详细信息。用户可以通过单击或滚动来选择轮播视图。当滚动结束时,textView中的细节应根据所选的轮播项目(描述,摘要等)显示详细信息。我可以通过textviews更新索引。

我使用- (void)carouselDidEndScrollingAnimation:(iCarousel )carousel方法知道滚动动画何时停止。滚动以编程方式或用户驱动方式停止时会触发此方法。

- (void)carouselDidEndScrollingAnimation:(iCarousel *)carousel
{
    [self setSelectedItemIndex:[carousel currentItemIndex]];
}

从索引中我获取相应的详细信息并重新加载视图。我修改了setter方法来重新加载细节。只有在触发委托时才会分配索引。

直到这一点,一切正常。我能够显示与每个项目对应的值。每个项目都不具有有效值。但是当用户继续拖动旋转木马虽然没有触发器来改变textView的值不断变化。滚动停止并触发上面的代理后,将显示正确的值。

* 只有selectedItemIndex中的值更改才会触发textView值的更改。但是滚动一些虚假值会在一个textView中显示。

- (void)setSelectedMemoIndex:(NSUInteger)selectedMemoIndex
  {
  _selectedMemoIndex = selectedMemoIndex;
  [self didSelectItemAtIndex:_selectedMemoIndex];
  }

如何为textView分配值

- (void)didSelectItemAtIndex:(NSInteger)index 
   {   //items array is a collection of NSManagedObjects  
   Item *item = self.items[index];  
   self.summaryTextView.text = item.summary;  
   self.descTextView.text = item.desc;  
   }

任何帮助都将受到高度赞赏

1 个答案:

答案 0 :(得分:0)

来自评论

代码看起来很好。问题可能出在代码的某处,你可能在textview中设置了值。可能在某些委托方法中,因为它在滚动完成时会改变。