现在的位置: 首页 > 综合 > 正文

A界面presentB界面, 需要B界面背景透明, 能透过底部看到A界面

2018年08月03日 ⁄ 综合 ⁄ 共 542字 ⁄ 字号 评论关闭

这里以A界面有一个按钮来触发present B界面来举例 

- (void)btnClicked:(id)sender {

    TopShowViewController *topVC = [self.storyboardinstantiateViewControllerWithIdentifier:@"lgoinstor"];

    self.modalPresentationStyle =UIModalPresentationCurrentContext;

    [selfpresentViewController:topVC
animated:YEScompletion:nil];

}

注:

1. B界面不需要把view设置成背景透明, 默认即可

2. B界面View上的那个用来做透明的背景必须是透明的, 也就是挡住A界面的那部分, 需要是透明的,或者是没有其它控件挡住的。 (有点小废话哈,挡住了肯定就不需要做透明的设计了)

3. 最常见的一个错误是, A是被C导航控制器包含进去的, 这个时候如果以A来present B控制器, 结果发现B控制器背景仍为黑屏, 这是因为虽然看起来是A在做Pressent, 实际上是A的导航控制器C在做Present, 这时候实际上是需要设置C.modalPresentationStyle即可。

抱歉!评论已关闭.