使用MonoTouch为客户开发我的第一个iPhone应用程序,我已经覆盖了UITableViewDataSource.SectionIndexTitles
函数,以提供string[]
数组,我认为这些数字会在垂直波段中生成。
目前,我正面临着一个有效的索引乐队,但没有显示任何字符:
(我认为UITableViewDataSource.SectionIndexTitles
具有原生对应sectionIndexTitlesForTableView
)。
我的问题:
有人可以给我一些关于我在这里做错的提示吗?
我没有所有的A-Z字符,但缺少一些字符,也许这可能是一个问题?
答案 0 :(得分:4)
这是MonoTouch中的一个错误。解决方法是在表源类中创建一个新方法,并使用Export
属性对其进行修饰,并将本机ObjC方法传递给覆盖(sectionIndexTitlesForTableView:
):
string[] sectionIndexArray;
//..
[Export ("sectionIndexTitlesForTableView:")]
public NSArray SectionTitles (UITableView tableview)
{
return NSArray.FromStrings(sectionIndexArray);
}
答案 1 :(得分:-4)
我想回到我的观点......
你能展示你为sectionIndexTitlesForTableView构建返回值的方式吗?我刚刚尝试使用Apple http://developer.apple.com/library/ios/#samplecode/TableViewSuite/Introduction/Intro.html#//apple_ref/doc/uid/DTS40007318
中的SimpleSectionedTableView示例应用程序使用此代码:
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView {
NSMutableArray *a = [[NSMutableArray alloc]initWithCapacity:10];
for (int i = 0; i<[regions count]; i++) {
Region *r = [regions objectAtIndex:i];
NSString *s = r.name;
[a addObject:s];
}
NSArray *ax = [NSArray arrayWithArray:a];
return ax;
}
一切正常......