我想在viewController上显示模态视图。 (有一个导航控制器)。
在我看来,我有文字和一个显示模态视图的按钮。
我创建了一个包含我的模态视图的.xib(它是带有图像和标签的视图)。
当我展示它的时候:
ShareController *controller = [[ShareController alloc] initWithNibName:@"ShareController" bundle: nil];
controller.view.backgroundColor = [UIColor clearColor];
controller.modalPresentationStyle = UIModalPresentationFormSheet;
controller.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentViewController:controller animated:YES completion:nil];
我有我的模态视图,但是,背景变成了黑色......我希望看到我视图中的文字。 (我试图设置alpha等等;但是NOTHING运行:'()
有人帮我吗?
谢谢,
答案 0 :(得分:23)
您可以查看iOS7示例(请参阅我的通讯),或者您可以轻松尝试:
从“提交”方法中删除此行
controller.view.backgroundColor = [UIColor clearColor];
现在,在ShareController
的viewDidLoad中添加:
self.view.backgroundColor = [UIColor clearColor];
self.modalPresentationStyle = UIModalPresentationCurrentContext;
self.modalPresentationStyle = UIModalPresentationFormSheet;
PS
如果你有一个navigationController ...使用
[self.navigationController presentViewController:controller animated:YES completion:nil];
答案 1 :(得分:3)
如果您希望modalVC位于标签栏上,则需要将演示文稿样式定义为UIModalPresentationOverFullScreen
[_presentedViewController setModalPresentationStyle:UIModalPresentationOverFullScreen];
[_presentingViewController presentViewController:_presentedViewController animated:YES completion:nil];
答案 2 :(得分:2)
快速回答是你无法呈现透明的模态视图,而不能使用presentViewController:animated:completion:方法。因为你不能使模态视图控制器透明(你的视图就是放置在它上面)。
您可以制作自定义视图,也可以手动设置动画,这是一种创建所需内容的方法。
答案 3 :(得分:2)
答案 4 :(得分:0)
这是UIWindow's
颜色,您可以在appDelegate中初始化UIWindow
颜色。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
return YES;
}