我认为我的技能几乎是“基本的”,我理解我阅读的大部分内容并且看到了目标c,但这有点超出了我理解的范围。
我有一个带有透明背景的tableView以及透明单元格,不幸的是,我正在开发应用程序的人坚持通过主要是灰色的背景显示。我的问题是右边的索引栏。我已经读过,在定制时,文本颜色,背景颜色等都是不受限制的。有没有人创建自己的索引栏并将其附加到tableView的滚动方法?
像我说的那样,我甚至不知道从哪里开始。我所需要的只是我正确的方向。我需要创建一个小的UIView并玩触摸事件吗?答案 0 :(得分:4)
如果您想在索引栏中进行任何更改,则应使用CAlayer。
答案 1 :(得分:4)
就这样做:
if ([[self tableView] respondsToSelector:@selector(setSectionIndexColor:)])
{
// In iOS 6 there is a own method available to set the index color
[[self tableView] setSectionIndexColor:[UIColor whiteColor]];
}
else
{
// Use this hack in previous iOS releases
for(UIView *view in [self.tableView subviews])
{
if([view respondsToSelector:@selector(setIndexColor:)])
{
[view performSelector:@selector(setIndexColor:) withObject:[UIColor whiteColor]];
}
}
}
答案 2 :(得分:1)
从iOS 6开始,您可以使用sectionIndexColor设置垂直字母索引栏的字体颜色。当用户使用sectionIndexTrackingBackgroundColor手指拖动时,您还可以在垂直字母索引栏周围设置背景颜色。如果您还要定位iOS 5设备,请务必检查以确保设备为6或更高。 -rrh
//iOS 6 devices only
[[self tableView] setSectionIndexColor:[UIColor whiteColor]];
//if targeting devices prior to iOS6 prevent a crash by verifying device OS version
NSArray *versionCompatibility = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."];
NSInteger OSVersion = [[versionCompatibility objectAtIndex:0] intValue];
if (OSVersion >= 6) {
[[self tableView] setSectionIndexColor:[UIColor whiteColor]];
}
答案 3 :(得分:0)
没有自然方式来自定义索引栏。 请尝试使用此自定义索引栏。它非常易于使用和定制: