ios - Trying to dismiss a popover that was presented by storyboard -
i see lot of questions on answers nothing me.
i presenting popover using storyboard. after while want dismiss popover programmatically.
i have tried many things last try involves creating class view controller inside popover. class this:
- (id)initwithcoder:(nscoder *)adecoder { self = [super initwithcoder:adecoder]; if (self) { [self initializenotification]; } return self; } - (void) initializenotification { [[nsnotificationcenter defaultcenter] addobserverforname:@"closepopover" object:self queue:[nsoperationqueue mainqueue] usingblock:^(nsnotification * _nonnull note) { [self dismissviewcontrolleranimated:yes completion:nil]; }]; } then, main code post notification like
[[nsnotificationcenter defaultcenter] postnotificationname:@"closepopover" object:self]; and nothing happens... popover continues there.
why?
you have replace self nil (for object parameter) when creating notification observer since not self posts notification:
[[nsnotificationcenter defaultcenter] addobserverforname:@"closepopover" object:nil queue:[nsoperationqueue mainqueue] usingblock:^(nsnotification * _nonnull note) { [self dismissviewcontrolleranimated:yes completion:nil]; }]; wiki
Comments
Post a Comment