我有UIView,我想在该视图上添加一个视图,但它只是原始视图的一半大小。
我试过了:
[appDelegate.viewController presentModalViewController:testViewController animated:NO];
但是所有屏幕。
尝试:
self.window.frame= CGRectMake(50, 50, 30, 30);
self.frame= CGRectMake(50, 50, 30, 30)
我看到有类似presentPopupViewController
的方法,但它们适用于UIViewcontroller。
任何想法在屏幕的一半开始它?
答案 0 :(得分:0)
消息presentModalViewController:animated:
将以模态方式呈现视图,始终占据整个屏幕。它不会将视图添加到当前视图中。
为此,请使用UIView
的消息addSubview:
。您可以按照自己的方式调整子视图的大小。
答案 1 :(得分:0)
使用presentModalViewController:animated:无法调整大小。
要像presentModalViewController一样有效:动画:像这样使用CATransition:
CATransition *animation = [CATransition animation];
[animation setDelegate:self];
[animation setType:kCATransitionMoveIn];
[animation setSubtype:kCATransitionFromBottom];
[animation setDuration:0.50];
[animation setTimingFunction:
[CAMediaTimingFunction functionWithName:
kCAMediaTimingFunctionEaseInEaseOut]];
[self.view.layer addAnimation:animation forKey:kCATransition];
现在在self.view中添加视图,如下所示:
[self.view addSubView:testViewController.view];
[testViewController.view setFrame:CGRectMake((self.view.frame.size.width/4),(self.view.frame.size.height/4),(self.view.frame.size.width*3/4),(self.view.frame.size.height*3/4))];
答案 2 :(得分:0)
假设你有两个观点,一个是主视图第二个是子视图。
在主视图上添加子视图
[mainview addSubview:childview];
从主视图中删除子视图
[childview removeFromSuperview];
但是如果你想要一些动画而不是为此添加一些额外的代码。