2012-04-10 51 views
0

我們如何指定SectionIndexes所顯示的框架的寬度。我在下面顯示圖片將解釋我的情況。設置顯示在UITableView右側的SectionIndex的寬度?

Image with UITableView sorted by Index along with it

欲包裹sectionIndex內的話,並且可以當SectionIndex幀尺寸是固定的,所以我想設置SectionIndex框架的寬度的右side.SectionIndex幀上顯示根據自動調整大小到它內部的字長。

我寫的代碼到陣列從SectionIndexTitle返回,如下所示:

NSMutableArray *array = [[NSMutableArray alloc] init]; 

for (int i = 0; i <[keys count]; i++) { 
    NSString *str = [self.keys objectAtIndex:i]; 
    int length = [str length]; 
    if (length > 9) { 
     str = [NSString stringWithFormat:@"%@..",[str substringToIndex:8]]; 
    } 
     [array addObject:str]; 
} 


NSArray *a =[NSArray arrayWithArray:array]; 
[array release]; 

return a; 

會ü請幫助我對此...!

回答

2

不幸的是,使用公共API無法自定義節索引。

如果此功能對您的應用程序非常重要,您最終可能會創建自定義部分索引視圖。

1

參考這樣的回答:

Custom UITableView section index

我認爲這是非常艱難的或幾乎不可能定製部分索引,或者創建自定義欄目索引。

讓我知道如果你需要更多的幫助。

希望這會有所幫助。

+0

謝謝你的建議..! – Warewolf 2012-04-10 09:34:37

+0

@Princekumar:不客氣:) – 2012-04-10 10:00:57

+0

@Princekumar:你能找到解決方案嗎? – 2012-04-11 04:22:28

0

我最近有一個類似的問題,我沒有時間集成自定義sectionindex。所以我只是用空格部分索引列表修改的第一個項目:

-(NSArray<NSString *> *)sectionIndexTitlesForTableView:(UITableView *)tableView 
{ 
    return @[@"  A  ", @"B", @"C", @"D", @"E", @"F"]; 
} 

-(NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index 
{ 
    if ([title containsString:@"A"]) 
    { 
     title = @"A"; 
    } 
    //Your code here 
} 

有了這個解決方案,我manged修改部分指標的寬度!

希望它有幫助:)

0

這似乎在iPad和iPhone 5上運行良好。在cellForRow中使用它。

let rightOffset: CGFloat = cell.frame.width - cell.contentView.frame.width 
相關問題