0

一度に 4 画面に表示したいので、そのための UIScrollview を作成し、ボタン付きのサブビューを追加することを考えています。すべてのボタンを画面に表示できないので、たとえば約 20 個のボタンを追加するにはどうすればよいですか?

4

1 に答える 1

0

ボタンを配列に追加するのはどうですか。このようなもの: (単なるスニペット)

int row = 0;
int column = 0;
for(int i = 0; i < _thumbs.count; ++i) {

    UIImage *thumb = [_thumbs objectAtIndex:i];
    UIButton * button = [UIButton buttonWithType:UIButtonTypeCustom];
    button.frame = CGRectMake(column*60+10, row*60+10, 60, 75);
    [button setImage:thumb forState:UIControlStateNormal];
    [button addTarget:self 
               action:@selector(buttonClicked:) 
     forControlEvents:UIControlEventTouchUpInside];
    button.tag = i; 

    [scrollView addSubview:button];

// If you want to show only 4 buttons, just tweak it here. You can do this method in anyway you like

    if (column == 4) {
        column = 0;
        row++;
    } else {
        column++;
    }

}
[scrollView setContentSize:CGSizeMake(300, (row+1) * 60 + 10)];

お役に立てれば。

于 2012-08-08T17:52:53.610 に答える