ios - Modify width of Popover View Controller -


i trying modify width of popover, uitableviewcontroller, takes half of width of parent view. popover called programmatically when button in uitableview (the parent view) tapped. tried setting preferredcontentsize of popover , setting sourcerect popover still takes on entire screen.

class mytableviewcontroller: uitableviewcontroller, uicollectionviewdatasource, uicollectionviewdelegate, uidynamicanimatordelegate, uigesturerecognizerdelegate, cllocationmanagerdelegate, uipopoverpresentationcontrollerdelegate, uiadaptivepresentationcontrollerdelegate {  ...  func gotoplaces(button: uibutton) {          let fromrect = cgrectmake(50.0, 50.0, self.view.bounds.width / 2.0, self.view.bounds.height)         let popovervc = storyboard?.instantiateviewcontrollerwithidentifier("otherplaces")         popovervc?.modalpresentationstyle = .overfullscreen         presentviewcontroller(popovervc!, animated: true, completion: nil)         popovervc?.view.backgroundcolor = uicolor.blackcolor().colorwithalphacomponent(0.6)         popovervc?.preferredcontentsize = cgsizemake(self.view.bounds.width / 2.0, self.view.bounds.height)         let popovercontroller = popovervc?.popoverpresentationcontroller         popoverpresentationcontroller?.sourceview = self.view         popoverpresentationcontroller?.sourcerect = fromrect         popovercontroller?.permittedarrowdirections = .any         popovercontroller?.delegate = self       }  func adaptivepresentationstyleforpresentationcontroller(controller: uipresentationcontroller) -> uimodalpresentationstyle {         return .none      } 

edit: when print of popoverpresentationcontroller?.sourceview , popoverpresentationcontroller?.sourcerect

they both return nil reason

you asking

popovervc?.modalpresentationstyle = .overfullscreen 

so covering whole screen. try using:

popovervc?.modalpresentationstyle = .popover 

the

presentviewcontroller(popovervc!, animated: true, completion: nil) 

should last delegate can calls wants respond. (i think -- might not matter if uikit delaying presentation.)


Comments