IOS: всплывающая позиция

#xcode #ios #uitableview #uipopovercontroller

#xcode #iOS #uitableview #uipopovercontroller

Вопрос:

У меня есть этот код:

 if([self.popoverController isPopoverVisible])
{
    [self.popoverController dismissPopoverAnimated:YES];
    return;
}

UIViewController* popoverContent = [[UIViewController alloc]init];

popoverContent.view = tableView1.view; 

self.popoverController = [[UIPopoverController alloc]
                          initWithContentViewController:popoverContent];

[self.popoverController presentPopoverFromRect:CGRectMake(1200, 280, 50, 50) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionDown animated:TRUE];
[[[popoverController contentViewController] view] setAlpha:1]; //alpha del contenuto del popover

[popoverContent release];
  

Это работает нормально, но я не могу поместить всплывающее окно в правом нижнем углу, я пытаюсь изменить значения в
[self.popoverController представляет popoverfromrect:CGRectMake(1200, 550, 100, 100) для просмотра:self.view разрешенные направления перемещения:uipopoverarrowdown анимированный: TRUE];

но я хочу, чтобы это всплывающее окно было маленьким в правом нижнем углу … как я могу сделать?

Комментарии:

1. где появляется всплывающее окно, когда вы запускаете этот код?

2. Я не знаю вашу структуру просмотра, но на iPad 1200 в направлении x всплывающее окно переместилось бы с правой стороны. экран имеет ширину всего 1024 дюйма в альбомной ориентации.

3. фактически я удаляю [self.popoverController presentPopoverFromRect:CGRectMake(1200, 280, 50, 50) для просмотра:self.view Разрешенные направления перемещения:UIPopoverArrowDirectionDown анимированный: TRUE];

Ответ №1:

Я решил таким образом:

 [popoverController setPopoverContentSize:CGSizeMake(320.0f, 262.0f)];
[self.popoverController presentPopoverFromBarButtonItem:barButton permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
  

Комментарии:

1. Это будет работать только с элементом панели. Вероятно, не подходит для этого приложения

2. Да, это было бы … для кнопки панели.