1

グループ化されたスタイルのUITableViewを含むiPhoneアプリがあります。ViewControllerで、UIActivityIndi​​catorViewをプロパティとして定義しました。

self.browsingIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
browsingIndicator.hidesWhenStopped = YES;

このスピナーをテーブルセクションヘッダーの1つに配置したいと思います。

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
    UIView *sectionHeader = [[[UIView alloc] init] autorelease];
    [sectionHeader addSubview:browsingIndicator];
    browsingIndicator.center = CGPointMake(20, 30);

    return sectionHeader;
}

これは機能しています。問題:デバイスの向きを変更すると、アクティビティインジケーターが消えて、表示されている画面からドラッグして元に戻した場合にのみ再表示されます。デバイスを元の向きに戻すと、「hidesWhenStopped」をNOに変更しても効果がありません。ない。

誰かが私を正しい方向に向けることができますか?ありがとう!

4

2 に答える 2

1

マイクさん、ご回答ありがとうございます。それだけではないと思います。UIActivityIndi​​catorView は正しく配置およびサイズ変更されますが、描画されません。sectionHeader を (ビューの外にスクロールして) ​​強制的に再描画すると、横向きであっても正確に正しい場所で回転します。

autoResizingMask を明示的に設定しようとしましたが、the1 が消えることは変わりませんでした。

編集:あなたの答えにコメントできませんでした。ここに登録しないと、投稿/コメントを実際に取得できませんでした。申し訳ありません:-/

編集2:

[sectionHeader addSubview:browsingIndicator];

問題の一部のようです。browserIndicator を直接返すと、動作しています。

解決済みの種類: viewForHeaderInSection メソッドの外側でセクション ヘッダーの UIView を定義し、それを返すだけで機能します。

于 2010-07-20T14:24:48.853 に答える
-1

スピナーのautoResizingMaskプロパティを適切に設定する必要があります。

于 2010-07-20T09:31:52.787 に答える