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 从 NSMutableArray 加载 UIViews
如何使用 iCarousel 更改 buttonTapped 上的视图控制器?