3

こんにちは、私は作成中の iPhone アプリを持っています。uitableview を使用し、詳細ビューに移動します。

詳細ビューにスクロール ビューがあり、すべてのデータ (XML) が毎回正常に表示されます。問題はありません。

私のスクロールビューのUILabelsは正しいデータで更新されますが、サブビューを重ねて追加し続けて、ラベルの後にラベルを追加し続け、すべてマンボジャンボに見えます。

次のようなサブビューを削除するためにあらゆることを試みました。

for(UIView *subview in [scrollView subviews]) {
 [subview removeFromSuperview];
}

[[scrollView subviews] makeObjectsPerformSelector:@selector(removeFromSuperview)];

だから私は困惑しています、私は何が起こっているのか分かりませんでした。何か助けはありますか?私は年齢と年齢をGoogleで検索してきましたが、うまくいかない同じ答えを見つけ続けています:(

あなたが知っているのに役立つかもしれないサイトへの指示は、非常に高く評価されます.

ありがとう!

すべてのスクロールビューとラベルをロードするコントローラーにあるものは次のとおりです。

- (void)viewDidAppear:(BOOL)animated {

 // Create the scroll view for this view
 UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:self.view.frame];
 scrollView.contentSize = CGSizeMake(320, 270);
 [scrollView setFrame:CGRectMake(0, 198, 320, 170)];

 // Do the labels for the text
 UILabel *dates = [[UILabel alloc] initWithFrame:scrollView.bounds];

 dates.textColor = [UIColor whiteColor];
 dates.font = [UIFont boldSystemFontOfSize:12];
 dates.text = round_date;
 dates.tag = 1;
 [dates setBackgroundColor:[UIColor clearColor]];
 [dates setFrame:CGRectMake(10, 10, 280, 22)];
 [scrollView addSubview:dates];
 [dates release];

 // Add the content to the main scrollview
 [self.view addSubview:scrollView];
 [scrollView release];

}
4

1 に答える 1

0

これは、ビューを表示するたびに viewDidAppear が呼び出されるためです。

こうすれば

-(void) viewDidLoad;

代わりは。

後でそれらにアクセスできるようにするために、UIViewController でそれらへの参照を保持することをお勧めします。

-(void) viewDidLoad {
    scrollView = [[UIScrollView alloc] initWithFrame];
    [self.view addSubview:scrollView];
}

ヘッダーファイルで次のように定義します。

UIScrollView *scrollView;
于 2011-01-12T14:39:10.677 に答える