在iPad上形状不规则的模态视图

时间:2011-11-27 22:34:12

标签: objective-c ios ipad

是否可以使用presentModalViewController显示不规则形状的模态视图?模态部分覆盖屏幕(演示样式设置为UIModalPresentationFormSheet

我尝试将superview clipsToBounds设置为NO,但它无法正常工作。我似乎也无法摆脱圆角。

PS:我正在努力避免创建自定义视图并手动执行此操作。

PPS:我从文档中注意到我们现在应该在iOS 5中使用presentViewController。但它没有完成任何不同的事情。

2 个答案:

答案 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

正如您所说,您必须构建自己的视图并为其设置动画。