Добавить UIButtons в UIScrollView программно - PullRequest
0 голосов
/ 06 января 2012

Я новичок в разработке для iPhone, и я хочу знать, как я могу добавить UIButton s в UIScrollView?

Размер этих кнопок может варьироваться от 12 до 20, 24, 28 и т. Д.

Есть ли какой-нибудь код, с помощью которого мы можем сделать это динамически, а не из файла Nib, и есть ли доступные образцы?

Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 06 января 2012

Конечно, вы можете добавить кнопки вручную следующим образом:

[scrollView addSubview:yourButton];

Вы можете создать обе вещи через IB и установить рамку кнопки с кодом

0 голосов
/ 16 января 2015

вы можете сделать так:

[self.scrollView setScrollEnabled:YES];
[self.scrollView setFrame:CGRectMake(0, 70,320, 70)];
[self.scrollView setContentSize:CGSizeMake(2370, 70)];

int x = 0;
for (int i=0; i<[your array count]; i++) {

    // view allocation
    ButnView=[[UIView alloc] init];
    [ButnView setFrame:CGRectMake(x, 0, 82, 70)];

    // label allocation
    UILabel* butnheaderlabel = [[UILabel alloc] initWithFrame:CGRectMake(14, -10, 80, 70)];
    UILabel* butnfooterlabel  = [[UILabel alloc] initWithFrame:CGRectMake(27, 10, 80,70)];
    [butnheaderlabel setFont:[UIFont systemFontOfSize:14.0]];

    // button allocation
    btn=[UIButton buttonWithType:UIButtonTypeCustom];
    [btn setFrame:CGRectMake(0, 0,82, 70)];
    [btn setBackgroundColor:[UIColor clearColor]];
    [btn setTag:i];
    [[btn layer] setBorderWidth:1.0f];
    [[btn layer] setBorderColor:[UIColor grayColor].CGColor];
    NSString*resourceKey=[your array objectAtIndex:i];
    NSArray*seperatedStr=[resourceKey componentsSeparatedByString:@","];
    [btn addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];
    [btn addSubview:butnheaderlabel];
    [btn addSubview:butnfooterlabel];
    [ButnView addSubview:btn];
    [self.scrollView addSubview:ButnView];
    x+=81;
}
...