1

一連のボタンをスクロールビューに追加しているので、ボタンをクリックすると、そのボタンが強調表示され、残りのすべての選択が解除されます。だから、すべてがうまくいきます。しかし、2番目のボタンが強調表示されている場合のように、もう1つの動作が必要です。3番目のボタンの一部を表示して、ユーザーがもう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これ が私のスクリーンショットです=0 ありがとう

4

1 に答える 1

0

問題は何ですか、コンテンツオフセットの単純な計算です。強調表示されているボタンが、スクロール ビューの現在表示されているフレームの最後のボタンである場合、ハードコードされた値 (たとえば 50) をコンテンツの offset.x に追加できます。

于 2015-07-07T12:43:51.750 に答える