UIPopOverController에서 이상한 문제가 발생했습니다. 일반적으로, 나는 팝 오버이 방법을 제시 :UIPopoverController를 화살표 방향으로 자동 변경하는 방법
[popoverVC presentPopoverFromRect:sender.frame
inView:sender.superview
permittedArrowDirections:UIPopoverArrowDirectionLeft
animated:NO];
그러나, 가끔 버튼 (발신자)의 오른쪽에는 충분한 공간이 없습니다과 팝 오버는 UIPopoverArrowDirectionUP있는 버튼 아래에 표시됩니다. 그것은 의미가 - popover 제대로 표시 할 수없는 경우, 컨트롤러가 다른 화살표로 표시하려고합니다.
그러나 단추 (보낸 사람)를 왼쪽으로 약 10 픽셀 이동하면 popover가 이러한 방식으로 동작하지 않습니다. 여전히 제대로 표시 할 공간이 없지만 popover는 ~ 20px이므로 너무 작습니다. 화살표가 바뀌지 않습니다.
popovercontroller를 말할 수있는 방법이 있습니까? "Popover에 모든 내용을 표시 할 공간이 충분하지 않으면 화살표 방향을 변경하십시오"?
시도했습니다. UIPopoverArrowDirectionLeft | UIPopoverArrowDirectionUp하지만 왼쪽에 여전히 표시 할 수있는 경우에도 위쪽면에만 화살표가 표시됩니다. (나는 UIPopOverController가 가능할 때와 그렇지 않을 때를 모른다). – msmialko
제안한대로 화면의 가장자리에서 거리를 수동으로 계산하려고했습니다. 아마 그것은 최선의 해결책이 아니지만 작동합니다. 그러나 : 다른 문제가 발생했습니다. 사용자가 장치를 돌릴 때 popoverArrowDirection을 변경하려고합니다. 다시 해고하지 않고 그것을 할 수있는 방법이 있습니까? – msmialko
불행히도, 당신이 말한 것을 할 필요가 있습니다 - popover를 닫고'didRotateFromInterfaceOrientation :'에 다시 나타냅니다. –