2014-07-15 2 views
1

저는 UIPopoverController를 사용하고 있습니다.보기에보기가 있습니다. UIPickerView가 있습니다. presentPopoverFromRect를 사용하면, PopOverControll은 x와 y의 정확한 위치를 표시하지만 컨트롤의 크기는 변경하지 않습니다. 이 viewController는 분리 된 .swift 파일입니다.UIPopoverController는 크기를 변경하지 않습니다.

var buttonCenter: CGPoint = BtCheque.center;    
var rect:CGRect = CGRectMake(buttonCenter.x, 1, 120, 90);     
_colorPickerPopover.presentPopoverFromRect(rect, inView: self.view , permittedArrowDirections: UIPopoverArrowDirection.Up, animated: true); 

UIPickerView의 크기는 같지만 popUp은 없습니다.

는 결과입니다

Image result

답변

1

내가 presentPopoverFromRect 작품, 그것은 당신의 팝 오버 자체가 표시됩니다있는 영역을 지정하는 방법에 대해 오해를 믿는이는 팝 오버의 사각형이 아닙니다.

예를 들어 프레임 (10, 10, 100, 30)이있는 단추가 있고이 단추를 누른 후 팝업을 표시하려면이 단추를 팝업 프레임이 아닌 presentPopoverFromRect으로 전달해야하는 권장 프레임입니다.

팝업 크기를 지정하려면 _colorPickerPopoverpopoverContentSize 속성을 사용하십시오.

popover 하위 클래스에서 (예 : viewDidLoad) 메소드를 설정할 수도 있습니다.

+0

buttonCenter를 설정하기 전에 줄을 붙여 넣는 것을 잊어 버렸습니다. _colorPickerPopover.setPopoverContentSize (CGSizeMake (120,90), animated : true); 그러나 도움이되지 않았다. 그리고 이제 viewDidLoad의 preferredContentSize가 완벽하게 작동합니다! 당신의 도움을 주셔서 감사합니다. – garanda

0

@Greg에 언급 된대로 실제로는 UIPopover의 크기를 설정하지 않았습니다. 그러나 에 preferredContentSize을 설정하는 것이 가장 좋습니다.

+0

@ user3770254 이것이 작동하는 경우 대답을 수락하십시오. – angerboy

관련 문제