我想在启动ipad应用程序时有条件地显示登录屏幕.我不想让它成为默认segue的一部分,因为它们只需要定期登录,而不是每次都登录.
我的问题有很多 例子,但它们似乎都早于ios5.然而,当我使用故事板时,似乎没有任何效果.
为了减少这一点,*创建一个新的单一视图应用程序,使用storyboard*为故事板添加一个新的viewcontroller,给它一个标识符"loginScreen"*在每个视图上放置一个文本标签,以便在视觉上区分它们.*在appDelegate中:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UIStoryboard *storyboard = [self.window.rootViewController storyboard];
UIViewController *loginController = [storyboard instantiateViewControllerWithIdentifier:@"loginScreen"];
[self.window.rootViewController presentModalViewController:loginController animated:TRUE];
return YES;
}
Run Code Online (Sandbox Code Playgroud)
从我看到的例子来看,这应该有效.但它仍然始终显示原始的rootViewController视图.虽然没有错误.
任何人都可以指出我错过的(可能很小的)事情吗?
uiapplicationdelegate presentmodalviewcontroller ios5 uistoryboard
背景:我想解雇一个我之前提出过的模态视图,然后立即呈现viewController我刚刚用新信息解雇的视频.
问题:如果没有显示指向ViewController第一个ViewController模态的父级的显式指针,我就不会非常成功.我正在尝试编写这个有用viewController的代码,而不会弄乱前面的代码.
可能的领先优势:我一直在尝试一些事情:
1.)试图访问父母ViewController,这时我不知道如何.
2.)一旦获得父母的访问权限,我可以简单地应用以下代码:
UIViewController* toPresentViewController = [[UIViewController alloc] init];
[self dismissViewControllerAnimated:YES completion:^{
[parentViewControllerAccessor presentModalViewController:toPresentViewController animated:YES];
}];
Run Code Online (Sandbox Code Playgroud)
理论上,这应该适用于父母的访问权限viewController.我对其他方式持开放态度.
假设:您无权更改父级中的任何代码ViewController.
iphone ipad modalviewcontroller presentmodalviewcontroller ios
我正在开发一个在detailViewController中呈现一些数据的应用程序.我在导航栏中有一个rightBarButton,它提供了一个UIActivityViewController,它充满了我自己的UIActivity子程序项.它们中的大多数工作正常,因为它们只是从详细视图中将一个小方面改变为数据,但我需要其中一个在选择时打开modalViewController.我一直从控制台收到以下警告......
Warning: Attempt to present <UINavigationController: 0x1fd00590>
on <UITabBarController: 0x1fde1070> which is already presenting <MPActivityViewController: 0x1fd2f970>
Run Code Online (Sandbox Code Playgroud)
我想值得注意的是,应用程序不会崩溃,但模态视图也不会出现.我假设UIActivityViewController本身是一个模态视图,你只能一次显示其中一个,所以任务是弄清楚在ActivityView消失后如何执行我的segue,但那就是我难倒的地方.我欢迎任何帮助,想法或反馈.我已经尝试了谷歌,但没有太多运气,我认为因为UIActivityViewController是如此新.
这是我的设置到目前为止,我的UIActivity对象有一个委托设置到detailViewController的自定义协议,让detailViewController执行数据更改,然后更新其视图.
对于有问题的活动,应该提供modalView控制器,我尝试了一些方法,都得到了相同的警告.
这些都不是!!!
1)只是尝试从我的委托方法执行segue
- (void) activityDidRequestTransactionEdit
{
NSLog(@"activityDidRequestTransactionEdit");
[self performSegueWithIdentifier:@"editTransaction" sender:self];
}
Run Code Online (Sandbox Code Playgroud)
2)尝试在UIActivityViewController上设置一个完成块,并让我的委托方法设置一个bool标志,显示模态视图(self.editor)
[activityViewController setCompletionHandler:^(NSString *activityType, BOOL completed) {
NSLog(@"completed dialog - activity: %@ - finished flag: %d", activityType, completed);
if (completed && self.editor) {
[self performSegueWithIdentifier:@"editTransaction" sender:self];
}
}];
Run Code Online (Sandbox Code Playgroud)
3)继承UIActivityViewController本身,给它作为委托的detailView,并用我自己的完成块覆盖它的dismissViewControllerAnimated:方法
- (void) dismissViewControllerAnimated:(BOOL)flag completion:(void (^)(void))completion
{
[super dismissViewControllerAnimated:flag completion:^{
[self.MPActivityDelegate activityDidRequestTransactionEdit];
}];
}
Run Code Online (Sandbox Code Playgroud)
工作解决方案
在UIActivity子类中,您需要像这样重写此方法
- (UIViewController *) activityViewController {
MPEditMyDataViewController …Run Code Online (Sandbox Code Playgroud) 我试图通过减少其宽度和高度在iPad上显示modalView,但问题是它不是中心对齐的.在iOS 6中它过去工作正常,但在iOS 7中它不是中心对齐的.
以下是我的代码:
m_helpQA = [[HelpQAViewController alloc]init];
m_helpQA.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentViewController:m_helpQA animated:YES completion:NULL];
m_helpQA.view.superview.bounds = CGRectMake(0, 0, 350, 250);//Dimensions of ModalView.
Run Code Online (Sandbox Code Playgroud)
目前我正是这样做的

我在我的应用程序中设置了Core Spotlight.我导航到导航控制器中的特定视图控制器,该控制器根据标题显示webview网页.例如:
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray *restorableObjects))restorationHandler {
if ([[userActivity activityType] isEqualToString:CSSearchableItemActionType]) {
// This activity represents an item indexed using Core Spotlight, so restore the context related to the unique identifier.
// The unique identifier of the Core Spotlight item is set in the activity’s userInfo for the key CSSearchableItemActivityIdentifier.
NSString *uniqueIdentifier = [userActivity.userInfo objectForKey:CSSearchableItemActivityIdentifier];
NSString *valueForUID = [self valueForKey:uniqueIdentifier];
self.tabBar = (UITabBarController *)self.window.rootViewController;
self.tabBar.selectedIndex = 0;
UINavigationController *selectedNav=(UINavigationController *)self.tabBar.selectedViewController;
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
WebViewController …Run Code Online (Sandbox Code Playgroud) 我用一个视图显示presentModalViewController.从这个UIView我想推动UIView使用UINavigationController.我尝试下面的代码
[self.parentViewController.navigationController
pushViewController:objViewFullScreen
animated:YES];
Run Code Online (Sandbox Code Playgroud)
但它对我不起作用.所以请任何人建议我如何推动视图ModelViewController.
谢谢
iphone objective-c uinavigationcontroller presentmodalviewcontroller ios
我在这方面奋斗了2天,并且相信这是我应该寻求帮助的那一刻.在我搜索SOF一段时间后,没有任何答案可以解决我的问题.这是我的申请......
在申请中,
这是问题所在
这是我试过的
这是我正在使用的当前代码
// PopoverViewController, presented by a tab in TabBarController
- (IBAction)takePhoto:(id)sender {
[self.delegate takePhotoWithDeviceCamera];
}
// A Tab in TabBarController, delegate of popoverViewController
- (void)takePhotoWithCamera {
[[UIApplication sharedApplication] setStatusBarHidden:YES];
if ([UIDevice OSVersion] < 6.0) {
[self presentModalViewController:cameraPicker animated:YES];
} else {
[self presentViewController:cameraPicker animated:YES completion:nil];
}
} …Run Code Online (Sandbox Code Playgroud) objective-c uiimagepickercontroller presentmodalviewcontroller ios5 ios6
是否可以在呈现模型视图控制器的同时与呈现视图控制器进行交互?
------------
| |
| VC1 |
| |
| |
| |
| |
|------------|
| VC2 |
| |
------------
Run Code Online (Sandbox Code Playgroud)
在上图中,VC1 是presentingViewController,VC2 是presentedViewController。我试图实现的用户体验是用户可以与 VC1 和 VC2 进行交互。目前,当呈现 VC2 时,触摸不会传递到 VC1。
objective-c uiviewcontroller modalviewcontroller presentmodalviewcontroller ios
在我的应用程序中,我想滑入和滑出视图控制器。因此,为此我正在使用自定义过渡,但应用程序崩溃了。我无法找出确切的问题所在。请帮帮我。
代码
class CustomTransition: NSObject, UIViewControllerAnimatedTransitioning,UIViewControllerTransitioningDelegate {
func animateTransition(using transitionContext: UIViewControllerContextTransitioning) {
// get reference to our fromView, toView and the container view that we should perform the transition in
let container = transitionContext.containerView
let fromView = transitionContext.view(forKey: UITransitionContextViewKey.from)! // the app crashes here saying nil founded
let toView = transitionContext.view(forKey: UITransitionContextViewKey.to)!
let animationDuration = self .transitionDuration(using: transitionContext)
let offScreenRight = CGAffineTransform(translationX: container.frame.width, y: 0)
let offScreenLeft = CGAffineTransform(translationX: -container.frame.width, y: 0)
toView.transform = offScreenRight
// add the both views …Run Code Online (Sandbox Code Playgroud) iOS 13 中新的默认卡片模式呈现有一个很好的功能,那就是滑动关闭。是否可以在呈现经典的同时使用这个功能.fullscreen?
isModalInPresentation我在全屏演示时检查了 if为 false。
有任何想法吗?
presentmodalviewcontroller ×10
ios ×5
objective-c ×4
ios5 ×2
ios6 ×2
ipad ×2
iphone ×2
animation ×1
ios13 ×1
ios7 ×1
swift ×1
uistoryboard ×1