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

Posted

技术标签:

【中文标题】iCarousel 项目索引更改与 UITextView 中显示的随机详细信息不同步【英文标题】:iCarousel item index change does not sync with their random details shown in the UITextView 【发布时间】:2013-04-10 11:32:36 【问题描述】:

我正在使用 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;  
   

任何帮助将不胜感激

【问题讨论】:

记录提供给 textview 的值并查看那里发生了什么 请在问题中包括文本视图中出现的真实值和虚假值 虚假值主要出现在第二个文本视图中,其中实际数据为“NA”,但仍显示一些随机文本。记录该值也表明该值为“NA”。这发生在轮播滚动时,无论是编程方式还是用户滚动时。我在这里写的委托只有在滚动结束时才会被击中,并且只有在调用此方法时才会更新文本视图。但在它之间显示一些随机文本 【参考方案1】:

来自cmets

代码看起来不错。问题可能出在代码中的某处,您可能在 textview 中设置了值。可能在某些委托方法中,因为滚动完成时它会发生变化。

【讨论】:

你是对的,值是在 iCarousel 的委托方法中设置的。谢谢:)

以上是关于iCarousel 项目索引更改与 UITextView 中显示的随机详细信息不同步的主要内容,如果未能解决你的问题,请参考以下文章

不同项目的不同宽度 - 在 iCarousel 中

如何在icarousel ios中找到特定索引?

iCarousel 从 NSMutableArray 加载 UIViews

如何使用 iCarousel 更改 buttonTapped 上的视图控制器?

从 segued View 返回时如何重新加载 iCarousel?

iCarousel 滚动