maybe purely simulator related. have not tried on actual device yet.
i'm on latest greatest macbook 1tb flash drive, , 95% free processor, , less full memory consumption.
i have uipopovercontroller 4 items in it, sized items. there's nothing complicated or multi-threaded or long running in way associated in uipopovercontroller in question.
i've set appear , dismiss animation @ 0, yet when tap on item in list, there seems random indeterminate delay between 0 , .4 seconds in popover disappearing. of course 0 expected, times when it's half second noticeably longer , disconcerting.
any idea may causing that?
code shows popover...
-(ibaction)thelandimpsbuttonpressed:(uibutton *)sender { irpnamevaluepopover *thepopovercontent = [[irpnamevaluepopover alloc] init]; thepopovercontent.thetablevalues = [self getlandimpschoiceslist]; impslandpopover = [[uipopovercontroller alloc] initwithcontentviewcontroller:thepopovercontent]; thepopovercontent.thepopovercontroller = impslandpopover; impslandpopover.popovercontentsize = [irpuihelper sizeforpopoverthathastitle:no andlistcontent:thepopovercontent.thetablevalues]; impslandpopover.delegate = self; [impslandpopover presentpopoverfromrect:self.thelandimpsbutton.bounds inview:self.thelandimpsbutton permittedarrowdirections:uipopoverarrowdirectionany animated:no]; } code dismisses popover... btw, there no evaluation time incurred here [self userchoiceisvalid] because returns yes right now.
-(void)tableview:(uitableview *)tableview didselectrowatindexpath:(nsindexpath *)indexpath { _thechosennamevalueitem = [self.thetablevalues objectatindex:indexpath.row]; [self acceptuserchoiceandclose]; } // contentviewcontroller encapsulated inside uipopoverviewcontroller, , class cannot // close popover contains it, hence need reference popover controller // popover's delegate... 1 created popover, able close it. -(void)acceptuserchoiceandclose { _theuserchoseavalue = no; // start assuming didn't chose valid value. if ([self userchoiceisvalid]) { // set variable indicates user chose value can saved core data, and/or presented on screen. _theuserchoseavalue = yes; // close popover. [_thepopovercontroller dismisspopoveranimated:no]; // notify class presented popover popover has been dismissed. // still available dismissal method code can retrieve user's choice, , set popover nil. if (_thepopovercontroller.delegate && [_thepopovercontroller.delegate respondstoselector:@selector(popovercontrollerdiddismisspopover:)]) { [_thepopovercontroller.delegate popovercontrollerdiddismisspopover:_thepopovercontroller]; } } else { [self showvalidationfailuremessagetouser]; } }
i check out in profiler , see time being spent on.
there's tutorial here.
Comments
Post a Comment