如何在iOS中关闭RNBlurModelView时捕捉事件



我使用了RNBlurModalView,但现在我想在RNBlurModalView时调用一个新的function消失。

我该怎么做?

顺便说一下,有三种方法(可能更多):

方法1:使用此方法隐藏RNBlurModalView对象,并在函数隐藏时使用Completion Handler块来调用(要调用的)函数。

- (void)hideWithDuration:(CGFloat)duration delay:(NSTimeInterval)delay options:(UIViewAnimationOptions)options completion:(void (^)(void))completion;

方法2:您可以监听kRNBlurDidHidewNotification NSNotification以了解视图是否已隐藏。

  [[NSNotificationCenter defaultCenter]addObserver:self 
                                          selector:@selector(modalViewHides:) 
                                              name:kRNBlurDidHidewNotification
                                            object:nil];

方法3:isVisible属性使用键值观测。

[modal addObserver:self forKeyPath:@"isVisible" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:NULL];

示例::

- (void)viewDidLoad
{
    [super viewDidLoad];
    RNBlurModalView *modal = [[RNBlurModalView alloc] initWithViewController:self title:@"Hello world!" message:@"Pur your message here."];
    [modal show];
[[NSNotificationCenter defaultCenter]addObserver:self
                                          selector:@selector(modalViewHides)
                                              name:kRNBlurDidHidewNotification
                                            object:nil];
}
- (void)modalViewHides
{
 // call your function 
}

最新更新