ios7-在另一个视图控制器上显示视图控制器,但不是全屏显示 当我按下我的视图控制器的按钮时,我想在它上面显示另一个控制器,但是在中间,而不是在全屏上。
如何以这种方式在另一个控制器上显示控制器?是的,您可能必须使用动画显示视图控制器视图。请参考下面的代码。你会对它从屏幕底部到屏幕中间显示动画有所了解。ios7-在另一个视图控制器上显示视图控制器,但不是全屏显示 当我按下我的视图控制器的按钮时,我想在它上面显示另一个控制器,但是在中间,而不是在全屏上。,ios,xcode,ios7,uistoryboard,Ios,Xcode,Ios7,Uistoryboard,如何以这种方式在另一个控制器上显示控制器?是的,您可能必须使用动画显示视图控制器视图。请参考下面的代码。你会对它从屏幕底部到屏幕中间显示动画有所了解。 YourViewController *viewController = [[YourViewController alloc] init]; [viewController.view setFrame:CGRectMake(0, -(CGRectGetHeight(viewController.view.frame)), CGRectG
YourViewController *viewController = [[YourViewController alloc] init];
[viewController.view setFrame:CGRectMake(0, -(CGRectGetHeight(viewController.view.frame)), CGRectGetWidth(viewController.view.frame), CGRectGetHeight(self.view.frame))];
[self.view addSubview:viewController.view];
[UIView animateWithDuration:0.8 animations:^{
[viewController.view setFrame:CGRectMake(0, 0, CGRectGetWidth(viewController.view.frame), CGRectGetHeight(viewController.view.frame))];
} completion:^(BOOL finished) {
[self.navigationController pushViewController:viewController animated:NO];
}];
是,您可能需要为视图控制器视图提供动画。请参考下面的代码。你会对它从屏幕底部到屏幕中间显示动画有所了解。
YourViewController *viewController = [[YourViewController alloc] init];
[viewController.view setFrame:CGRectMake(0, -(CGRectGetHeight(viewController.view.frame)), CGRectGetWidth(viewController.view.frame), CGRectGetHeight(self.view.frame))];
[self.view addSubview:viewController.view];
[UIView animateWithDuration:0.8 animations:^{
[viewController.view setFrame:CGRectMake(0, 0, CGRectGetWidth(viewController.view.frame), CGRectGetHeight(viewController.view.frame))];
} completion:^(BOOL finished) {
[self.navigationController pushViewController:viewController animated:NO];
}];
是,您可能需要为视图控制器视图提供动画。请参考下面的代码。你会对它从屏幕底部到屏幕中间显示动画有所了解。
YourViewController *viewController = [[YourViewController alloc] init];
[viewController.view setFrame:CGRectMake(0, -(CGRectGetHeight(viewController.view.frame)), CGRectGetWidth(viewController.view.frame), CGRectGetHeight(self.view.frame))];
[self.view addSubview:viewController.view];
[UIView animateWithDuration:0.8 animations:^{
[viewController.view setFrame:CGRectMake(0, 0, CGRectGetWidth(viewController.view.frame), CGRectGetHeight(viewController.view.frame))];
} completion:^(BOOL finished) {
[self.navigationController pushViewController:viewController animated:NO];
}];
是,您可能需要为视图控制器视图提供动画。请参考下面的代码。你会对它从屏幕底部到屏幕中间显示动画有所了解。
YourViewController *viewController = [[YourViewController alloc] init];
[viewController.view setFrame:CGRectMake(0, -(CGRectGetHeight(viewController.view.frame)), CGRectGetWidth(viewController.view.frame), CGRectGetHeight(self.view.frame))];
[self.view addSubview:viewController.view];
[UIView animateWithDuration:0.8 animations:^{
[viewController.view setFrame:CGRectMake(0, 0, CGRectGetWidth(viewController.view.frame), CGRectGetHeight(viewController.view.frame))];
} completion:^(BOOL finished) {
[self.navigationController pushViewController:viewController animated:NO];
}];
在iPhone中,显示
UIViewController
总是全屏显示。在iPad上,您可以使用UISplitViewController
或构建自定义容器,但您提供的视图控制器将填充UISplitViewController
和自定义容器控制器中的容器
要仅在部分屏幕上显示内容,可以在视图控制器上设置ui视图的动画。有几种方法可以显示视图控制器,但后面仍显示另一个视图控制器,但不建议这样做
查看有关创建自定义容器视图控制器的详细信息。在iPhone中,始终全屏显示UIViewController
。在iPad上,您可以使用UISplitViewController
或构建自定义容器,但您提供的视图控制器将填充UISplitViewController
和自定义容器控制器中的容器
要仅在部分屏幕上显示内容,可以在视图控制器上设置ui视图的动画。有几种方法可以显示视图控制器,但后面仍显示另一个视图控制器,但不建议这样做
查看有关创建自定义容器视图控制器的详细信息。在iPhone中,始终全屏显示UIViewController
。在iPad上,您可以使用UISplitViewController
或构建自定义容器,但您提供的视图控制器将填充UISplitViewController
和自定义容器控制器中的容器
要仅在部分屏幕上显示内容,可以在视图控制器上设置ui视图的动画。有几种方法可以显示视图控制器,但后面仍显示另一个视图控制器,但不建议这样做
查看有关创建自定义容器视图控制器的详细信息。在iPhone中,始终全屏显示UIViewController
。在iPad上,您可以使用UISplitViewController
或构建自定义容器,但您提供的视图控制器将填充UISplitViewController
和自定义容器控制器中的容器
要仅在部分屏幕上显示内容,可以在视图控制器上设置ui视图的动画。有几种方法可以显示视图控制器,但后面仍显示另一个视图控制器,但不建议这样做
查看以获取有关创建自定义容器视图控制器的详细信息。在显示控制器之前,需要将此属性设置为控制器
controller.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentViewController:controller animated:YES completion:nil];
在显示控制器之前,需要将此属性设置为控制器
controller.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentViewController:controller animated:YES completion:nil];
在显示控制器之前,需要将此属性设置为控制器
controller.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentViewController:controller animated:YES completion:nil];
在显示控制器之前,需要将此属性设置为控制器
controller.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentViewController:controller animated:YES completion:nil];
如果你在iPad上试用,你可以随时设置一个包含新视图的Popover
UIYourNewViewController *vc = [[UIYourNewViewController alloc] init];
UIPopoverController *popVc = [[UIPopoverController alloc] initWithContentViewController:vc];
[popVc setPopoverContentSize:*the size that you want or your resized vc*];
[popVc presentPopoverFromRect:*position of the screen you want to show the popover* inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
使用此选项,您将创建一个与viewcontroller视图大小相同的弹出窗口,并可以将其弹出到所需的位置。
为了确保它也能在iPhone上运行,您应该为UIPopoverController创建一个类别,并将此方法添加到.m中
+ (BOOL)_popoversDisabled {
return NO;
}
请记住在类别的.h中声明该方法。如果您在iPad上尝试,您可以随时设置包含新视图的Popover
UIYourNewViewController *vc = [[UIYourNewViewController alloc] init];
UIPopoverController *popVc = [[UIPopoverController alloc] initWithContentViewController:vc];
[popVc setPopoverContentSize:*the size that you want or your resized vc*];
[popVc presentPopoverFromRect:*position of the screen you want to show the popover* inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
使用此选项,您将创建一个与viewcontroller视图大小相同的弹出窗口,并可以将其弹出到所需的位置。
为了确保它也能在iPhone上运行,您应该为UIPopoverController创建一个类别,并将此方法添加到.m中
+ (BOOL)_popoversDisabled {
return NO;
}
请记住在类别的.h中声明该方法。如果您在iPad上尝试,您可以随时设置包含新视图的Popover
UIYourNewViewController *vc = [[UIYourNewViewController alloc] init];
UIPopoverController *popVc = [[UIPopoverController alloc] initWithContentViewController:vc];
[popVc setPopoverContentSize:*the size that you want or your resized vc*];
[popVc presentPopoverFromRect:*position of the screen you want to show the popover* inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
使用此选项,您将创建一个与viewcontroller视图大小相同的弹出窗口,并可以将其弹出到所需的位置。
为了确保它也能在iPhone上运行,您应该为UIPopoverController创建一个类别,并将此方法添加到.m中
+ (BOOL)_popoversDisabled {
return NO;
}
请记住在类别的.h中声明该方法。如果您在iPad上尝试,您可以随时设置包含新视图的Popover
UIYourNewViewController *vc = [[UIYourNewViewController alloc] init];
UIPopoverController *popVc = [[UIPopoverController alloc] initWithContentViewController:vc];
[popVc setPopoverContentSize:*the size that you want or your resized vc*];
[popVc presentPopoverFromRect:*position of the screen you want to show the popover* inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
使用此选项,您将创建一个与viewcontroller视图大小相同的弹出窗口,并可以将其弹出到所需的位置。
为了确保它也能在iPhone上运行,您应该为UIPopoverController创建一个类别,并将此方法添加到.m中
+ (BOOL)_popoversDisabled {
return NO;
}
记住在类别的.h中声明方法。此解决方案在iOS8中不再有效。在这种情况下,它将打开屏幕大小的ModalViewController。此解决方案不起作用