У меня есть кнопка в представлении и вызов следующего void, чтобы открыть контроллер поповер с помощью средства выбора изображений, здесь нет проблем, поповер придет с помощью средства выбора изображений и т. Д.
когда я создаю UIButton программно в viewDidLoad, кнопки вызывают тот же void ниже, однако на этот раз, который выдает исключение " Поповеры не могут быть представлены из представления, у которого нет окна. "
-(IBAction)pickupPhoto:(id)sender
{
CGRect rect = CGRectMake(100, 100, 1, 1); // [(UIScrollView *)sender frame];
self.imgPicker = [[UIImagePickerController alloc] init];
self.imgPicker.delegate = self;
self.imgPicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
self.popOver = [[UIPopoverController alloc] initWithContentViewController:imgPicker];
[popOver setDelegate:self];
[popOver presentPopoverFromRect:rect inView:[self view] permittedArrowDirections:UIPopoverArrowDirectionUp animated:NO];
[imgPicker release];
}
здесь я создаю кнопки с одинаковым видом, кнопки вызывают пустоту.
-(void)addButtons
{
for (int i = 0; i < 10; i++) {
self.btn = [[UIButton alloc] initWithFrame:CGRectMake(i * 100, 0, 100, 80)];
[[self.btn layer] setBorderColor:RGB(245, 245, 245).CGColor];
[[self.btn layer] setBorderWidth:1.0f];
[[self.btn titleLabel] setFont:[UIFont fontWithName:@"Thonburi" size:70]];
[self.btn setTitle:doubleToString(i+1) forState:UIControlStateNormal];
[self.btn setTitleColor:RGB(245, 245, 245) forState:UIControlStateNormal];
[self.btn setTitle:doubleToString(i+1) forState:UIControlStateSelected];
[self.btn setTitleColor:RGB(125, 225, 225) forState:UIControlStateHighlighted];
[self.btn addTarget:[NMBPostUI alloc] action:@selector(pickupPhoto:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn];
[btn release];
}
}
Я вижу, когда я вызываю - (void) addButtons, self.view.window возвращает nil для кнопок, созданных во время выполнения, что вызывает проблему. да, я должен создавать кнопки во время инициализации, но при вызове контроллера представления как -storyBoard- Page Sheet нет вызова инициализации. как я могу обойти это?
любые идеи приветствуются.
большое спасибо.