有关UIButton的block传消息问题。

先说一下问题,我有一个UIViewController,可以通过Modal方式显示出来,然后在这里面又添加了一个View,里面有一个按钮,如何在这按钮上实现Dismiss效果?

解决方法:
在View上面的.h里 加上
@property (copy, nonatomic) dispatch_block_t addBlock;
然后在View的.m里面的Button的Action上,加上
    if (self.addBlock) {
        self.addBlock();
    };
 然后在UIViewController上面定义weakself
有两种定义方法
1.
#define WS(weakSelf) __weak __typeof(&*self)weakSelf = self;
- (void)viewDidLoad {
    [super viewDidLoad];
  
    WS(weakSelf)
。。。。。
}
2.__weak SomeClass *weakSelf = self;
然后在UIViewController里面定义的有这按钮的View上面加上:
    View.addBlock=^(){
        [weakSelf dismissViewControllerAnimated:YES completion:nil];
    };
即可实现dismiss效果!

评论

此博客中的热门博文

使__attribute__((annotate("xxx")))能作用于OC函数

viewWillAppear不执行的解决办法

iOS中使用xpc/xpc.h