我有一个UITableView
和10个部分。
对于每个部分,我都有一个自定义标题。
在自定义标题中,我有一个标签作为带有文本值日期的部分的标题。
表格内容大小为(450,1000)
。
这里我带有文字的标签也是滚动的,但我希望我的标签文字应该与屏幕中心对齐,不应该用表格水平滚动。
提前致谢。
答案 0 :(得分:1)
在敲了几个小时之后我终于得到了这个解决方案。
我只是用过
(void)scrollViewDidScroll:(UIScrollView *)scrollView*
方法和使用 表视图内容偏移更改了我的标签框 。
myLabel.frame = CGRectMake(tableview.contentoffset.x, 0, deviceHeight, 27);
它会将我的标签保持在相同的位置以进行屏幕显示,从逻辑上看它正在变化,但在同一位置看起来会保持稳定。
答案 1 :(得分:0)
只有当表的UITableViewStyle属性设置为UITableViewStylePlain时,该行为才会发生。如果将它设置为UITableViewStyleGrouped,则标题将向上滚动单元格。
可能以下链接将帮助您解决问题: 1. UITableView with fixed section headers 2. https://corecocoa.wordpress.com/2011/09/17/how-to-disable-floating-header-in-uitableview/
答案 2 :(得分:0)
- (void)addButtonsOnScrollViewHorizontal:(int)postion :(UIScrollView*)scrollView
{
[scrollView setShowsVerticalScrollIndicator:NO];
float x = 30;
for (int i = 1; i <=postion; i++)
{
UIButton *button= [UIButton buttonWithType:UIButtonTypeCustom];
[button setTag:i];
[button setTitle:[NSString stringWithFormat:@"%i",i] forState:UIControlStateNormal];
[button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[button setTitleColor:[UIColor colorWithRed:26.0f/255.0f green:188.0f/255.0f blue:156.0f/255.0f alpha:100.0f] forState:UIControlStateSelected];
button.titleLabel.font =[UIFont fontWithName:@"HelveticaNeue-Bold" size:18.0f];
CGSize maxSize = CGSizeMake(button.frame.size.width, FLT_MAX);
CGRect labRect = [button.titleLabel.text boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:button.titleLabel.font} context:nil];
[button setFrame:CGRectMake(x, 0, labRect.size.width+10, 30)];
[button addTarget:self action:@selector(scrollViewDaysbtnClicked:) forControlEvents:UIControlEventTouchUpInside];
if (i==postion)
{
[_scrollViewDays setContentOffset:CGPointMake (button.frame.origin.x+button.frame.size.width/2-70, 0) animated:NO];
button.titleLabel.font =[UIFont fontWithName:@"HelveticaNeue-Bold" size:24.0f];
[button setSelected:YES];
currentSelectionDays =i;
}
[scrollView addSubview:button];
x +=labRect.size.width+20;
}
scrollView .contentSize = CGSizeMake(x, 0);
}
-(void)scrollViewDaysbtnClicked:(UIButton*)sender
{
for (UIButton *button in _scrollViewDays.subviews)
{
if ([button isKindOfClass:[UIButton class]])
{
if (button.tag == sender.tag)
{
[_scrollViewDays setContentOffset:CGPointMake (button.frame.origin.x+button.frame.size.width/2-70, 0) animated:NO];
button.titleLabel.font =[UIFont fontWithName:@"HelveticaNeue-Bold" size:24.0f];
[button setSelected:YES];
currentSelectionDays =(int)sender.tag;
}else
{
[button setSelected:NO];
button.titleLabel.font =[UIFont fontWithName:@"HelveticaNeue-Bold" size:18.0f];
}
}
}
}
使用它......