2011-02-21 10 views
0

私は無限にこれを無駄に検索したが、うまくいけば誰かが助けることができる!奇数スクロールの問題(UIScrollView)

カスタムセル/サブビューにロードするUIViewの左半分にUIScrollViewがあります。 UIViewはUINavigationスタックの一部であり、TabBarのタブにもロードされます。

私はアプリを起動し、すぐにスクロールを開始すると非常にスムーズです。しかし、私がアプリを起動して5〜10秒待つと、UIScrollViewは非常に遅くて不安定になります(それはそのままです)。私はそれがメモリリークか何かと思うだろうが、私は何かを見つけることができない。

UIScrollViewにカスタムセル/サブビューをロードするビューのコードが含まれています。セルのサブビューにカスタムコードはありません。ああ、およそ8-10のアイテムしかありません。各アイテムには小さな(150x150)イメージと3つのテキストフィールドがあります - すべて不透明です。

#import "ProductListViewController.h" 
    #import "ProductListLeftItemViewController.h" 


    @implementation ProductListViewController 

    @synthesize listScroll; 



    - (void)viewDidLoad { 

     NSBundle *bundle = [NSBundle mainBundle]; 
     NSString *path = [bundle pathForResource:@"Products" ofType:@"plist"]; 
     NSArray *products = [[NSArray alloc] initWithContentsOfFile:path]; 
     // 
     int numProducts; 
     numProducts = [products count]; 
     [listScroll setContentSize:CGSizeMake(500, (numProducts * 111))]; 
     for (int i = 0; i < numProducts; i++) { 
      ProductListLeftItemViewController *cellItem = [[ProductListLeftItemViewController alloc] initWithNibName:@"ProductListLeftItem" bundle:nil]; 
      cellItem.view.frame = CGRectMake(0, (i*111), 500, 111); 

      [self.listScroll addSubview:cellItem.view]; 
      cellItem = nil; 
      [cellItem release]; 
     } 
     [products release]; 

     [super viewDidLoad]; 

    } 

    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
     return (interfaceOrientation == UIInterfaceOrientationLandscapeRight); 
    } 

    - (void)didReceiveMemoryWarning { 
     // Releases the view if it doesn't have a superview. 
     NSLog(@"Memory warning, ProductListViewController"); 

     [super didReceiveMemoryWarning]; 

     // Release any cached data, images, etc that aren't in use. 
    } 

    - (void)viewDidUnload { 
     // Release any retained subviews of the main view. 
     // e.g. self.myOutlet = nil; 
    } 


    - (void)dealloc { 
     [listScroll release]; 
     [super dealloc]; 
    } 

    @end 

と要求、ProductListLeftItemViewControllerコードとして:将来的にこの問題を持っている人のために

+0

URLから画像をロードしていますか? – iHS

+0

いくつの商品がありますか? ProductListLeftItemViewControllerを表示できますか? cellItemをnilに設定した後にcellItemでBTWがreleaseを呼び出すのはナンセンスです。これらの2行を入れ替えてください。 – robertvojta

+0

Harinder:私はURLから画像をロードしていませんでしたが、実際はサブビュー全体をクリアして、不透明な白い背景になっていました。同じ結果です。 Chiefly Izzy:わずか8製品ですが、わずか1製品で、最小限の情報で試してみました。同じ結果です。そして、ありがとう、私はラインを交換しました。 – KidIcarus271

答えて

0

私は、実際のデバイス上で物事をテストを開始後、すべてが完全に滑らかに働きました。たぶんシミュレーターの気まぐれだったかもしれませんか?私はまだそれをもう少し見ていくつもりですが、これを解決したと考えています。