私はiOS6を使用しており、iPadアプリケーションでは、ビューのカルーセルと選択したカルーセル項目の詳細をその下のtextViewに表示する必要があります。ユーザーは、クリックするかスクロールして、カルーセル ビューを選択できます。スクロールが終了すると、textView の詳細は、選択されたカルーセル アイテム (説明、概要など) に基づいて詳細を表示する必要があります。私はインデックスを更新することができ、そこにはテキストビューがあります。
- (void)carouselDidEndScrollingAnimation:(iCarousel )carousel
スクロールアニメーションがいつ停止するかを知る方法を使用しています。このメソッドは、スクロールがプログラムまたはユーザー主導で停止されたときにトリガーされます。
- (void)carouselDidEndScrollingAnimation:(iCarousel *)carousel
{
[self setSelectedItemIndex:[carousel currentItemIndex]];
}
インデックスから対応する詳細を取得し、ビューをリロードします。詳細をリロードするようにセッター メソッドを変更しました。インデックスは、デリゲートがトリガーされたときにのみ割り当てられます。
この時点まで、すべてが正常に機能しています。各項目に対応する値を表示できます。すべての項目に常に有効な値があるとは限りません。ただし、ユーザーがカルーセルをドラッグし続けると、値を変更するトリガーがなく、textView の値が変化し続けます。スクロールが停止し、上記のデリゲートがトリガーされると、正しい値が表示されます。
*の値の変更のみがselectedItemIndex
、textView の値の変更をトリガーする必要があります。しかし、スクロール中に、いくつかの偽の値が 1 つの 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;
}
どんな助けでも大歓迎です