добавить несколько просмотров в scrollview - PullRequest
0 голосов
/ 17 августа 2011

У меня есть ScrollView, и он будет заполнен множеством представлений.

Мои представления имеют фон и получат динамическое количество кнопок.

Мне нужно добавить эти представления наmy ScrollView.

Каждый вид будет размещен ниже предыдущего.Мои взгляды имеют 1024 x 197

Как мне это сделать?

Заранее благодарен за любую помощь.

БОЛЬШЕ ДЕТАЛЕЙ

Я создал представление (то, которое мне нужно повторить) в Интерфейсном Разработчике

@interface PortalBookViewController : UIViewController {
    UIView *prateleira;
    UIScrollView *ScrollView;
}

@property (nonatomic, retain) IBOutlet UIScrollView *ScrollView;
@property (nonatomic, retain) IBOutlet UIView *prateleira;

@end

Я связал это Представление (Интерфейсный Разработчик) с * prateleira

- (void)viewDidLoad {
    [super viewDidLoad];


    for (int i = 0; i < 4; i++) {
        switch (i) {
            case 0:
                prateleira = [prateleira initWithFrame:CGRectMake(0, 0, 1024, 197)];
                [ScrollView addSubview:prateleira];
                [prateleira release];
                break;
            case 1:
                prateleira = [prateleira initWithFrame:CGRectMake(0, 198, 1024, 197)];
                [ScrollView addSubview:prateleira];
                [prateleira release];
                break;
            case 2:
                prateleira = [prateleira initWithFrame:CGRectMake(0, 384, 1024, 197)];
                [ScrollView addSubview:prateleira];
                [prateleira release];
                break;
                break;
            case 3:
                prateleira = [prateleira initWithFrame:CGRectMake(0, 582, 1024, 197)];
                [ScrollView addSubview:prateleira];
                [prateleira release];
                break;
                break;
            default:
                break;
        }
    }

    [ScrollView release];


}

MODEДЕТАЛИ

Если я сделаю это: [self.ScrollView addSubview:prateleira];, это покажет мне это:

enter image description here

Я думаю, что проблема заключается в настройке позиции просмотра.

Ответы [ 3 ]

1 голос
/ 17 августа 2011

вы просто добавляете их как обычно, вот так:

[self.myScroller addSubview: mytextview];

после того, как вы установили рамку textviews. или ты имеешь в виду что-то еще?

Вы должны рассчитать кадр в цикле, поэтому каждое представление добавляется ниже следующего, если вы это имеете в виду ...

лучше, Marcus

0 голосов
/ 18 августа 2011

решение было создать объект uiview, как:

UIView * shelf_view (NSInteger x, NSInteger y) {

    UIView *shelf = [[UIView alloc] initWithFrame:CGRectMake(x, y, 1024, 197)];
    UIImageView *background = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"shelf.png"]];
    [shelf addSubview:background];
    return shelf;

}

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {

    for (int i = 0; i < 4; i++) {
        switch (i) {
            case 0:
                [ScrollView addSubview: shelf_view(0, 0)];
                break;
            case 1:
                [ScrollView addSubview: shelf_view(0, 197)];
                break;
            case 2:
                [ScrollView addSubview: shelf_view(0, 512)];
                break;
            case 3:
                [ScrollView addSubview: shelf_view(0, 777)];
                break;
            default:
                break;
        }
    }
    [super viewDidLoad];
    [ScrollView release];


}

Работает отлично.

0 голосов
/ 17 августа 2011

Используйте addSubview:

[self.scrollView addSubview:myNewView];
...