Содержимое UIPopoverController размыто - PullRequest
5 голосов
/ 16 мая 2011

Я представляю UIPopoverController в моем приложении, но представление контента выглядит слегка размытым.

Чтобы продемонстрировать, я поместил второй экземпляр контроллера представления контента непосредственно в self.view, и в сравнении легко увидеть, что текст во всплывающем окне нечеткий.Эта проблема возникает как на устройстве, так и в симуляторе.

Снимок экрана:

enter image description here

Код:

// ...    

// init the edit view controller
editSOViewController = [[EditViewController alloc] 
initForNewObjectWithDict:dict];

// init popover with editSOViewController
UIPopoverController *popover = [[UIPopoverController alloc] 
initWithContentViewController:editSOViewController];

// set size
navPopover.popoverContentSize = 
CGSizeMake(editSOViewController.view.frame.size.width, 
[editSOViewController heightForViewControllerInPopoverView]);  

// this is blurry
[popover presentPopoverFromRect:image.frame
                            inView:self.view
          permittedArrowDirections:UIPopoverArrowDirectionAny
                          animated:YES];

// this is clear
editViewController *test =
 [[EditViewController alloc] initForNewObjectWithDict:dict];
[self.view addSubview:test.view];

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

У меня все та же проблема, если я использую WEPopover (https://github.com/werner77/WEPopover/).

Спасибо.

1 Ответ

9 голосов
/ 17 мая 2011

Использование значений кадра с дробными частями вызывает позиционирование между пикселями, что приводит к размытости.

Чтобы избежать этого, установите значения кадра в числа без дробей, используя такие функции, как round или floor.

...