Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование iOS/iPhone
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
undestroyer
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 53
#1

Программно создать Buttons и Popover

19.05.2013, 16:27. Просмотров 1462. Ответов 6
Метки нет (Все метки)

Здравствуйте, скажите пожалуйста как по нажатию на программно-созданные кнопки показывать один и тот же поповер, но с разным содержимым? (по нажатию на кнопку1 появляется поповер с данными из этой кнопки, по нажатию на кнопку2 появляется точно такой же поповер, но с другими данными) Я не могу прописать появление поповера из созданной кнопки. заполнение информацией сделаю сам

Objective-C
1
2
3
4
5
UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[btn1 setTitle:@"seat1" forState:UIControlStateNormal];
[btn1 addTarget:self action:@selector(showPopover) forControlEvents:UIControlEventTouchUpInside];
btn1.frame = CGRectMake(40, 400, 80, 120);
[_backview addSubview:btn1];
Что прописать в showPopover чтоб показывать поповером визуально созданный в сториборде ViewController?

Добавлено через 3 часа 41 минуту
гугл подсказал написать так:
Objective-C
1
2
3
4
5
6
7
8
9
10
11
- (void)showPopover:(id)sender {
    UIView *anchor = sender;
    UIViewController *viewControllerForPopover = 
        [self.storyboard instantiateViewControllerWithIdentifier:@"pop"];
 
    popover = [[UIPopoverController alloc] 
               initWithContentViewController:viewControllerForPopover];
    [popover presentPopoverFromRect:anchor.frame 
                             inView:anchor.superview 
           permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}
Но приложение стало вылетать с ошибкой SIGABRT и в логе появляются
Unrecognized selector sent to instance 0x11efe7e
***First throw call stack ...
Почему ругается на селектор?

Добавлено через 6 минут
UPD:поправил косячок в коде
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2013, 16:27
Ответы с готовыми решениями:

Выплывающее меню по нажатию кнопки (popover?)
Добрый день! Изучаю свифт, сейчас столкнулся с проблемой, по кнопке выбора фото...

Создать NSCollectionView программно
Весь интернет перерыл, но так и не нашел примера использования NSCollectionView...

Создать кнопку на другом View программно
Есть 2 View. При нажатии пользователем кнопки на первой вьюшке, нужно, чтобы...

Создать класс Buttons
требуется создать класс, (скорее всего это делается через наследование, но я не...

Как программно создать Label на Frame, которая программно создана на UserForms
Всем доброго времени суток! Программно создать Frame на UserForms можно...

6
alexpac26
14 / 22 / 4
Регистрация: 20.01.2013
Сообщений: 125
20.05.2013, 14:17 #2
тот же поповер, но с разным содержимым
если содержимое будет разное то и popover'ов будет не один а 2

и вызывать каждый отдельно

Objective-C
1
popover = [[UIPopoverController alloc] initWithContentViewController:viewControllerForPopover];
вот эта конструкция создает один контроллер и изменить его уже НЕЛЬЗЯ только создать такойже в другой переменной

еще как вариант можно обратиться к viewcontroller который сейчас валяется внутри popover по свойству [popover contentViewController]
и перед тем как показывать изменить у него что либо внутри
0
undestroyer
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 53
20.05.2013, 18:28  [ТС] #3
Цитата Сообщение от alexpac26 Посмотреть сообщение
если содержимое будет разное то и popover'ов будет не один а 2
думаю в моем случае хватит и одного. под "разным содержимым" я понимал один и тот же шаблон, но с разным наполнением (на вьюшке для поповера есть элементы: лейбл и картинка, значения которых изменяются в зависимости от того какая кнопка вызвала этот поповер).
функция showPopover правильная? у меня после ее вызова симулятор почему-то вылетает с ругательствами на селектор
0
alexpac26
14 / 22 / 4
Регистрация: 20.01.2013
Сообщений: 125
21.05.2013, 10:38 #4
popover какбы только на ipad работает
0
undestroyer
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 53
21.05.2013, 18:17  [ТС] #5
Цитата Сообщение от alexpac26 Посмотреть сообщение
popover какбы только на ipad работает
ну так и есть, запускаю на симуляторе айпада
0
alexpac26
14 / 22 / 4
Регистрация: 20.01.2013
Сообщений: 125
21.05.2013, 19:19 #6
сабж

размер popover контроллера меняется через StoryBoard

Программно создать Buttons и Popover


Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#import "ViewController.h"
#import "PopOverController.h"
 
@interface ViewController ()
 
@end
 
@implementation ViewController
 
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
    id vc = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil] instantiateViewControllerWithIdentifier:@"PopOverController"];
    
    _pop = [[UIPopoverController alloc] initWithContentViewController:vc];
    
}
 
-(void)viewDidUnload {
    _pop = nil;
}
 
- (IBAction)b1_click:(id)sender {
    
    ((PopOverController*)_pop.contentViewController).lb_title.text = [sender titleLabel].text;
 
    [_pop presentPopoverFromRect:[sender frame] inView:self.view permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES];
 
}
 
- (IBAction)b2_click:(id)sender {
    
    ((PopOverController*)_pop.contentViewController).lb_title.text = [sender titleLabel].text;
 
    [_pop presentPopoverFromRect:[sender frame] inView:self.view permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES];
    
    
}
@end
0
Вложения
Тип файла: zip test_popover.zip (80.2 Кб, 16 просмотров)
perlik
38 / 38 / 0
Регистрация: 26.01.2013
Сообщений: 140
22.05.2013, 23:12 #7
Мне как раз недавно пришлось создать копию своего UIVIew со всеми кнопками руками. в том же положении. мучительно но прикольно
0
22.05.2013, 23:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.05.2013, 23:12

Like Popover
Здраствуйте помогите пожалуйста разобраться с проблемой, имеется кнопка с...

Popover placement bootstrap (arrow)
Всем привет. Я решил создать данную тему, так как нуждаюсь в вашей помощи. ...

Всплывающее окно с помощью Popover
Добрый день, знатоки! Хотел бы задать Вам вопрос, так как не могу его решить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru