- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
我有一个带有自定义标题 View 的表格,无论何时,或者我为部分选择什么值,我总是得到零值。我有另一个表有同样的问题。
如果我打印 [tableview subviews] 的值,我可以看到标题 View ,但我不知道为什么该方法不返回任何内容。
我想做的是获取 headerview 中的 activityIndicator 并通过方法调用启动或停止它。
header 始终绘制正常,但我无法获得对它的引用。还有,调用headerViewForSection:
并没有调用delegate方法,这正常吗?
footerViewForSection:
有同样的问题
部分代码:
- (UIView*) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
NSArray* objs = [[NSBundle mainBundle] loadNibNamed:@"iPadTableCells" owner:nil options:nil];
UIView* header = [objs objectAtIndex: 0];
UIActivityIndicatorView* activityIndicator = (UIActivityIndicatorView*) [header viewWithTag:5];
[activityIndicator startAnimating]
return header;
}
从任何方法:
UIView* headerView = [tableview headerViewForSection: section]; //returns nil
if (headerView) {
UIActivityIndicatorView* activityIndicator = (UIActivityIndicatorView*)[headerView viewWithTag: 5];
[activityIndicator stopAnimating];
}
最佳答案
来自文档:
To make the table view aware of your header or footer view, you need to register it. You do this using the
registerNib:forHeaderFooterViewReuseIdentifier:
orregisterClass:forHeaderFooterViewReuseIdentifier:
method ofUITableView
.
(Swift 等价物是 register(_:forHeaderFooterViewReuseIdentifier:)
。)
因此您需要注册 nib,然后使用重用标识符获取它,而不是直接将其从应用程序包中拉出,这正是您现在正在做的。
...如果您想使用 headerViewForSection
方法。
或者,您可以检查是否在 viewForHeaderInSection
方法中继续旋转,然后发送调用:
[self.tableView beginUpdates];
[self.tableView endUpdates];
刷新节标题。
(请注意,这种替代方法会破坏并重新创建您的整个 View ,因此如果您有一个包含大量数据的大表,它可能不是很有效。)
关于iphone - uitableview headerViewForSection : always returns nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15231726/
我创建了一个新的 Storyboard 应用程序,为我的表创建了一个 IBOutlet,实现了两个表委托(delegate)。 @interface FirstViewController () .
我有一个包含 2 个部分的 UITableView。每个都有自己的 headerView。 我通过 -viewForHeaderInSection: 方法创建了一个自定义的 headerView。 后
因此在第 I 部分的标题中创建一个自定义 View 并将其返回以显示(该函数返回一个 UIView) View 已显示并且在应用程序中表现正常,但是每当我调用 headerViewForSection
我有一个带有自定义标题 View 的表格,无论何时,或者我为部分选择什么值,我总是得到零值。我有另一个表有同样的问题。 如果我打印 [tableview subviews] 的值,我可以看到标题 Vi
所以我有以下表格 View 标题: UITableViewHeaderFooterView* header =[self.tableView headerViewForSection:0]; 此 he
我是一名优秀的程序员,十分优秀!