是否可以使用presentModalViewController
显示不规则形状的模态视图?模态部分覆盖屏幕(演示样式设置为UIModalPresentationFormSheet
)
我尝试将superview clipsToBounds
设置为NO,但它无法正常工作。我似乎也无法摆脱圆角。
PS:我正在努力避免创建自定义视图并手动执行此操作。
PPS:我从文档中注意到我们现在应该在iOS 5中使用presentViewController
。但它没有完成任何不同的事情。
答案 0 :(得分:4)
我有点工作了。这有点像黑客,但它确实有效。
代码(这是产生模态的控制器内部):
// Present the modal
[self presentViewController:modalVC animated:YES completion:NULL];
// Let content overflow and shrink superview to a small dimension
modalVC.view.clipsToBounds = NO;
modalVC.view.superview.bounds = CGRectMake(modalVC.view.superview.bounds.origin.x, modalVC.view.superview.bounds.origin.y, 100, 100);
现在只是让模态的视图比超视图更大,你可以对形状发疯。
请注意,触摸只会在超级视图区域注册。
答案 1 :(得分:0)
不,你不能,你必须坚持使用apple提供的样式,http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/ModalViewControllers/ModalViewControllers.html
正如您所说,您必须构建自己的视图并为其设置动画。