我有一个iPhone应用程序,其中包含分组样式的UITableView。 在ViewController中,我将UIActivityIndicatorView定义为属性:
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两者都不是。
有人能指出我正确的方向吗?谢谢!
答案 0 :(得分:1)
谢谢你的回答迈克,但我认为不是这样。 UIActivityIndicatorView已正确定位和调整大小,但未绘制。当我强制sectionHeader重绘(通过将其滚出视图)时,它会在正确的位置旋转,即使是横向也是如此。
我试图明确设置autoResizingMask,但这并没有改变1消失。
编辑:无法对你的回答发表评论,我没有真正得到帖子/评论而没有在这里注册,对不起: - /
Edit2:
[sectionHeader addSubview:browsingIndicator];
似乎是问题的一部分。如果我直接返回browseIndicator就可以了。
现在有点解决了: 如果我在viewForHeaderInSection方法之外为section标题定义UIView,然后只返回它,它就可以工作。
答案 1 :(得分:-1)
您想要适当地设置微调器的autoResizingMask属性。