Добавление вида в UIScrollview - PullRequest
1 голос
/ 19 февраля 2012

Я создал UIView

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code

        UIImage *image2 = [UIImage imageNamed:@"pinGreen_v1.png"];
        UIImage *image1 = [UIImage imageNamed:@"PinDown1.png"];

        UIButton *btn1 = [[UIButton alloc]initWithFrame:CGRectMake(0, 10, 40, 40)];
        [btn1 setImage:image2 forState:UIControlStateNormal];
        [self addSubview:btn1]; 

        for(int i =1; i<20; i++){
            UIButton *btn2 = [[UIButton alloc]initWithFrame:CGRectMake(40 * i, 40, 40, 40)];
            [btn2 setImage:image1 forState:UIControlStateNormal];
            [btn2 addTarget:self 
                     action:@selector(buttonPressed) 
           forControlEvents:UIControlEventTouchUpInside];
            [self addSubview:btn2];
        }

    }
    return self;
}

С помощью приведенного выше кода я рисую изображения в моем виде.Я загружаю это представление из моего контроллера представления.Мне нужно поместить это представление в UIScrollview.Где я должен создать представление прокрутки?В представлении выше или в контроллере вида, где создается вид сверху.

Код внутри моего контроллера вида:

 DrawLineInMyClass *drawLines = [[DrawLineInMyClass alloc]initWithFrame:CGRectMake(0, 0, 320, 400)];
 drawLines.backgroundColor = [UIColor blackColor];
 [self.view addSubview:drawLines];
 [drawLines release];

Я должен иметь возможность прокручивать изображения внутри моего представления.

1 Ответ

3 голосов
/ 19 февраля 2012

Я бы создал представление прокрутки в viewcontroller и добавил бы к нему представление.

UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
scroll.pagingEnabled = YES;

DrawLineInMyClass *drawLines = [[DrawLineInMyClass alloc]initWithFrame:CGRectMake(0, 0, frame.size.width, frame.size.height)];
drawLines.backgroundColor = [UIColor blackColor];
[self.view addSubview:drawLines];

[scroll addSubview:drawLines];

scroll.contentSize = CGSizeMake(self.view.frame.size.width*drawLines.frame.size.width, self.view.frame.size.height);
[self.view addSubview:scroll];
[drawLines release];
[scroll release];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...