У меня небольшая проблема.Я работаю над приложением для iPad, и у меня есть UItableView.Внутри этого стола есть кнопки в каждой ячейке в идеальном положении.Теперь, когда пользователь нажимает на эти кнопки, я хочу открыть UIImagePickerView, чтобы он мог выбрать изображение и установить его там.
Теперь я использую объект UIPopOver, чтобы открыть imagePicker, и я столкнулся с проблемой.Мне нужно, чтобы всплывающее окно указывало на идеальное место, в котором кнопка нажимала его.Предположим, что кнопка из 3-й строки в таблице вызывает ее, тогда popOver должен открыться соответственно.
Я использую этот код, чтобы открыть popOver и установить его фрейм:
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
imagePicker.delegate = self;
CGRect fr = tblView.frame;
fr.origin.x = fr.origin.x + btnActive.frame.origin.x;
fr.origin.y = fr.origin.y + btnActive.frame.origin.y;
fr.size = CGSizeMake(320, 480);
popOver = [[UIPopoverController alloc] initWithContentViewController:imagePicker];
//self.popoverController = popOver;
popOver.delegate = self;
[popOver presentPopoverFromRect:btnActive.frame
inView:tblView
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
[imagePicker release];
Теперь,здесь происходит следующее: всякий раз, когда я нажимаю на строки кнопки, popOver указывает только на первую видимую строку.Я вызываю метод с именем - (void) setImage: (id) sender
, когда пользователь нажимает на любую из этих кнопок в TableView.И я назначаю кнопку btnActive следующим образом:
UIButton *btn = (UIButton *)sender;
btnActive = btn;
Я отлично получаю метку кнопки, но не могу получить точку всплытия в идеальном месте.Я думаю, это потому, что каждый раз кадр btnActive остается неизменным.Я могу быть не прав.Пожалуйста, помогите мне с этим вопросом.Миллион заранее спасибо!