1

我有一个包含分组样式的 UITableView 的 iPhone 应用程序。在 ViewController 中,我将 UIActivityIndi​​catorView 定义为属性:

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

我想将此微调器放在表格部分标题之一中:

- (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 回答