Wednesday, 15 January 2014

ios - How to position a popover depending on which segment (UISegmentedControl) has been selected -



ios - How to position a popover depending on which segment (UISegmentedControl) has been selected -

i have programmatically created custom cell of dynamic table integrating segmentedcontrol of 8 segments.

it works 1 time tap on 1 of segments, popup menu options appears near cell , not @ lower end of tableview.

i suppose occurrs because have anchored segue tableview. avoid assign each segment segue popup menu.

is there possibility of re-positioning popup menu automatically depending on segment selected?

here relevant code @ main view controller .m file

-(void)segmentselectedatrow: (uisegmentedcontrol *)sender{ if (self.flipsidepopovercontroller) { [self.flipsidepopovercontroller dismisspopoveranimated:yes]; self.flipsidepopovercontroller = nil; } else { [self performseguewithidentifier:@"seguetochangevalues" sender:sender]; } uitableviewcell *theparentcell = [[sender superview]superview]; nsindexpath *indexpathofsegment = [self.spreadsheetview indexpathforcell:theparentcell]; ... } ... - (void)flipsideviewcontrollerdidfinish:(potflipsideviewcontroller *)controller { [self.flipsidepopovercontroller dismisspopoveranimated:yes]; self.flipsidepopovercontroller = nil; } - (void)popovercontrollerdiddismisspopover:(uipopovercontroller *)popovercontroller { self.flipsidepopovercontroller = nil; } - (void)prepareforsegue:(uistoryboardsegue *)segue sender:(id)sender { if ([[segue identifier] isequaltostring:@"seguetochangevalues"]) { [[segue destinationviewcontroller] setdelegate:self]; uipopovercontroller *popovercontroller = [(uistoryboardpopoversegue *)segue popovercontroller]; self.flipsidepopovercontroller = popovercontroller; popovercontroller.delegate = self; } } @end

here flipside .h file

@class potflipsideviewcontroller; @protocol potflipsideviewcontrollerdelegate - (void)flipsideviewcontrollerdidfinish:(potflipsideviewcontroller *)controller; @end @interface potflipsideviewcontroller : uiviewcontroller @property (weak, nonatomic) id <potflipsideviewcontrollerdelegate> delegate; - (ibaction)done:(id)sender; .... @end

here relevant code flipside .m file

#import "potflipsideviewcontroller.h" @interface potflipsideviewcontroller () @end @implementation potflipsideviewcontroller - (void)awakefromnib { self.contentsizeforviewinpopover = cgsizemake(320.0, 480.0); [super awakefromnib]; } - (void)viewdidload { [super viewdidload]; } homecoming yes; } - (ibaction)done:(id)sender { [self.delegate flipsideviewcontrollerdidfinish:self]; } @end

ios uitableview uipopovercontroller uisegmentedcontrol uistoryboardsegue

No comments:

Post a Comment