Правильное размещение UIPopover рядом с динамическими кнопками - PullRequest
1 голос
/ 20 февраля 2012

Я создаю динамическое количество кнопок (в конце концов, они будут помещены в горизонтальный вид прокрутки), и я показываю всплывающее окно при нажатии кнопки, но мне нужно настроить всплывающее окно, чтобы оно отображалось простосправа от выбранной кнопки, но в данный момент поповер появляется каждый раз в одном и том же месте ...

Вот что я пытаюсь:

    for (int i=0; i < 10; i++) {        
    childButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];

    childButton.frame = CGRectMake(100*i, 170, 100, 30);

    [childButton setTitle:@"Test" forState:UIControlStateNormal];

    [childButton addTarget:self action:@selector(presentPopoverMenu) forControlEvents:UIControlEventTouchUpInside];

    [self.view addSubview:childButton];
}

В конечном счете, я 'Я собираюсь создать две строки изображений, но это только для тестирования ...

-(void)presentPopoverMenu/*:(id)sender*/
{
    MenuPickerController *mp = [[MenuPickerController alloc] init];
    popoverMenu = [[UIPopoverController alloc] initWithContentViewController:mp];

    popoverMenu.popoverContentSize = CGSizeMake(290, 300);
    [popoverMenu presentPopoverFromRect:[childButton bounds]
                                 inView:childButton 
               permittedArrowDirections:UIPopoverArrowDirectionAny 
                               animated:NO];

}

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

1 Ответ

1 голос
/ 20 февраля 2012

Конечно, он использует значение последней кнопки, потому что ваш ивар childButton указывает на него.Бери не childButton, а sender.Раскомментируйте его и используйте.Также селектор будет @selector(presentPopoverMenu:).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...