0

mainScrollView でビューを実装しようとしています。そのmainScrollView内に10個のUIViewがあり、それぞれにsubScrollViewがあります。今、各subScrollView内に多くの(約150から200)ビュー(imageview、label、textview、uiview、webviewなど)を追加したいと思います。

このようなもの:

タイムラインww2ジャズの歴史

私は次のことを試しました:
方法1:

ビューを追加するための各 subScrollView の遅延読み込み。

このためのコード:

-(void)loadInnerScrollViewLazily:(int)tag pageNo:(int)pageNo{

/// this array will contain all the views for subScrollView

NSMutableArray *array=[NSMutableArray array];
array=[self.tlScrollContentArray objectAtIndex:tag];  

if (pageNo < 0)
    return;
if (pageNo >= [array count])
    return;

UIView *controller = [array objectAtIndex:pageNo];
CGRect frame = [[array objectAtIndex:0] frame];
frame.origin.x = 350;
frame.origin.y = 0;
controller.frame = frame;

for (UIView* view in [mainScrollView subviews]) {
    for (UIScrollView* scroll in [view subviews]) {
        if ([scroll isKindOfClass:[UIScrollView class]]) {
              if (scroll.tag == tag+11) {

                [scroll addSubview:controller];   /// adds view in particular subScrollView

            }
        }
    }
}

}

このメソッドは scrollViewDidScroll メソッドで呼び出され、特定の scrollView をチェックして画面外のビューを削除し、条件に応じてビューを追加します。

このコードは、スクロール レートが増加するにつれてアプリの速度を低下させます。

方法 2:

このチュートリアルを参照して:

mainScrollView に 3 つの UIView (それぞれに subScrollView を含む) を追加します。状況に応じてsubScrollViewの内容を更新しています。

しかし、このソリューションは、表示されるたびに subScrollView を更新しているため、アプリの速度も低下させています。

これを管理するために利用できるライブラリまたはコードはありますか。

どんな助けでも大歓迎です。

前もって感謝します!

4

1 に答える 1

0

あなたのコードには非常に多くのエラーがあり、完全なソースを投稿する必要があると思います。スクロールビューから画像を削除したことがあるかどうかは不明です。そうでない場合、それはあなたの問題です。

Apple のサンプル PhotoScroller コードを見てください: http://developer.apple.com/library/ios/#samplecode/PhotoScroller/Introduction/Intro.html

これは、スクロールビューの ImageViews をデキューして管理します...これに基づいて同様のものを実装しました。

于 2012-08-14T13:12:00.590 に答える