2011-05-16 6 views
5

내 응용 프로그램에 UIPopoverController를 표시하고 있지만 내용보기가 약간 흐리게 표시됩니다.UIPopoverController의 내용이 흐립니다.

설명하기 위해 직접 콘텐츠 뷰 컨트롤러의 두 번째 인스턴스를 self.view에 배치했으며 비교를 통해 popover의 텍스트가 흐릿하다는 것을 쉽게 알 수있었습니다. 이 문제는 장치 및 시뮬레이터에서 발생합니다.

스크린 샷 :

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가 뷰를 약간 축소시킬 수 있다고 생각했지만 이미지 편집기를 사용하여 두 예제를 줄 였고 크기면에서 차이가 없었습니다 (그러나 popover 뷰에서는 별개의 "fuzz").

WEPopover (https://github.com/werner77/WEPopover/)를 사용하는 경우에도 여전히 동일한 문제가 발생합니다.

감사합니다.

+0

보기에 대해 -setCenter 방법을 사용하고 있습니까? – Alkimake

+0

NSLog는 image.frame의 값입니다. 분수 부분이 있습니까? – Anna

+0

@Anna Karenina 'CGRect f = floatingImageView.frame; NSLog (@ "x : % f, y : % f, w : % f, h % f", f.origin.x, f.origin.y, f.size.width, f.size.height) ; ' 'x : 336.707764, y : 450.813629, w : 60.000000, h39.000000' – rdavisau

답변

9

분수 부분에 프레임 값을 사용하면 픽셀 사이에 위치가 지정되어 흐려질 수 있습니다.

round 또는 floor과 같은 함수를 사용하여 프레임 값을 분수가 아닌 숫자로 설정하십시오.

+0

완벽 하군, 고마워! – rdavisau