1

我在我的滚动视图中添加了一系列按钮,所以在单击按钮时我想突出显示那个按钮并取消选择剩余的所有按钮。所以每件事都很好。但是我还需要一种行为,例如第二个按钮是否突出显示我想显示第三个按钮的某些部分,以便用户知道还有一个类别。

float offset=0;


for(int i=0;i<[arrMaincat count];i++)
{

    UIButton *btn=[UIButton buttonWithType:UIButtonTypeCustom];
    btn.tag=i;
    btn.titleLabel.font=[UIFont systemFontOfSize:12];

    btn.titleLabel.lineBreakMode=UILineBreakModeTailTruncation;
    NSString *Categoryname=[[arrMaincat objectAtIndex:i] objectForKey:@"Name"];

    CGSize constraint=CGSizeMake(1000, 30);
    CGSize size1 = [Categoryname sizeWithFont:[UIFont systemFontOfSize:12] constrainedToSize:constraint lineBreakMode:UILineBreakModeWordWrap];

        btn.frame=CGRectMake(offset, 0, size1.width, 30);


    [btn setTitle:Categoryname forState:UIControlStateNormal];

    [btn setTitle:Categoryname forState:UIControlStateSelected];
    [btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
    [btn setTitleColor:UIColorFromRGB(0Xe08043) forState:UIControlStateSelected];

    [btn addTarget:self action:@selector(CategoryChanged:) forControlEvents:UIControlEventTouchUpInside];

    offset=btn.frame.origin.x+btn.frame.size.width+10;

    [self.SliderScroll addSubview:btn];

  }

self.SliderScroll.contentSize=CGSizeMake(offset, SliderScroll.frame.size.height);

Remaning Code http://pastie.org/10277453 这是我的截图https://www.dropbox.com/s/xpq9vy39eecab1g/Screen%20Shot%202015-07-07%20at%205.34.15%20pm.png?dl =0 谢谢

4

1 回答 1

0

那么问题出在哪里,它是对内容偏移量的简单计算。如果突出显示的按钮是滚动视图当前可见帧中的最后一个按钮,您可以将一些硬编码值(比如说 50)添加到内容 offset.x

于 2015-07-07T12:43:51.750 回答