UIScrollView охватывает UIButton - PullRequest
       28

UIScrollView охватывает UIButton

0 голосов
/ 10 декабря 2011

Я создал UIScrollView и сейчас пытаюсь поместить UIButton поверх вида прокрутки. Однако, когда я собираю и запускаю приложение, представление прокрутки по-прежнему работает нормально, но я не вижу UIButton.

Я связываю UIButton IBOutlet внутри конструктора интерфейса.

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    scrollView = [[UIScrollView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
    scrollView.backgroundColor = [UIColor blackColor];
    scrollView.delegate = self;
    scrollView.bounces = NO;

    backgroundImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"auckland-300.jpg"]];

    image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"249a-134206f1d00-1342071f5d9.ImgPlayerAUCKLAND.png"]];

    // Note here you should size the container view appropriately and layout backgroundImage and image accordingly.
    containerView = [[UIView alloc] initWithFrame:CGRectMake(0,0,601,601)];
    playButton = [[UIButton alloc] init]; //test button cannot see it.
    [containerView addSubview:backgroundImage];
    [containerView addSubview:image];

    scrollView.contentSize = containerView.frame.size;
    [scrollView addSubview:containerView];

    scrollView.minimumZoomScale = 0.5;
    scrollView.maximumZoomScale = 31.0;
    [scrollView setZoomScale:scrollView.minimumZoomScale];
    self.view = scrollView;    
}

Любая помощь будет оценена

Ответы [ 2 ]

1 голос
/ 10 декабря 2011

Все вроде нормально. Но я думаю, что причина, по которой вы не видите кнопку playButton, заключается в том, что вы не добавляете ее к самой view.

Разве вам не нужно это делать? [containerView addSubview:playButton];

Чтобы помочь вам, вот что я делаю для отладки -

UIView реализует полезный метод описания. Кроме того, это реализует метод recursiveDescription, который вы можете вызвать, чтобы получить Сводка всей иерархии представления.

NSLog(@"%@", [controller.view recursiveDescription]);
0 голосов
/ 10 декабря 2011

Кнопка, вероятно, находится в кончике, с которой вы связали представление контроллеров, верно?Присвоив вид прокрутки виду, вы удаляете вид из пера из контроллера, поэтому вы не можете видеть кнопку te или нажимать ее.и scrollView, и playButton как подпредставления self.view.

Возможно, вы хотите переосмыслить свой дизайн.Размещение кнопки над прокруткой не очень хорошая практика для меня.

...