Tag: modalviewcontroller

我被困在呈现UICollectionViewController中单元格的完整图像

我在我的应用程序中有一个UICollectionViewController ,我希望在用户点击它时在一个特定的单元格中生成图像。 对不起,麻烦,因为我是一个iOS的初学者。 根据我的知识,它将被呈现在一个新的View controller ,如果是/否,那么如何? 提前致谢。

使用UIModalPresentationStyleCurrentContext呈现视图控制器时的布局问题

我遇到了与iPad上的UISplitViewController和模式视图控制器有关的问题,所以我试图在一个小的项目中重现这个问题,看看我能否弄清楚是怎么回事。 不幸的是,这个问题似乎还在发生,但我不明白为什么。 我已经包含了一个非常小的完整的Swift程序,它重现了这个问题。 基本上,如果您在iPad上的新Swift iOS项目中运行该代码,您将看到以下行为: 该应用程序将从以下用户界面开始: 如果点击Present,则新的模态控制器将出现在分离控制器的细节侧。 如果我点击closures该模式控制器,我会回到相同的初始界面,一切都很好。 但是,如果点击Present,然后在出现的模式控制器上点击Present(所以我在原始细节视图中有两个模态控制器),然后closures第一个, RightViewController接pipe整个屏幕,消除了分割视图控制器: 整个下午,我一直在对着这个头。 有什么我失踪? 以下是示例应用程序的完整源代码: import UIKit class RightController: UIViewController { override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) { super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil) self.title = "Right" } required init(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } override func loadView() { super.loadView() let label = UILabel(frame: […]

视图控制器以模态方式呈现/解散时通知?

如果某个视图控制器在另一个视图控制器之上以模态方式呈现(除了viewWillDisappear ,显然不是在iPad上调用非全屏模式呈现),有没有办法自动通知? 背景/用例:在iPad应用程序中,无论何时呈现模态表单,我都希望调整模态背后的视图外观。 但是,如果模式不一定在同一个视图控制器中进行,而需要适应,而可能发生在一些小孩或母公司风险投资家。 当然,我可以手动(通过通知,委托或任何其他方式)传达这个事件,但这是相当重复的,在将来添加更多的模态表格时很容易被遗忘。 因此,我想知道是否有更好的方法来实现这一点。 我已经试过了对presentViewController KVO,但似乎并没有工作(而且我也不知道如果presentedViewController实际上将被设置,如果模态演示是由子视图控制器完成…)。

如何防止GreyStripe全屏广告解散我的模式视图控制器着陆页?

我在我的iPhone应用程序的模式视图控制器中着陆GreyStripe全屏广告。 问题是,当GreyStripe SDK驳回全屏广告,它也驳回我的模式视图控制器。

iOS 7:离开模式ViewController后键盘不显示

我有一个HomeViewController有不同的模式segues其他几个UIViewControllers 。 如果我试图在HomeView中的UITextField上显示键盘,一切工作正常。 但是,如果我尝试从任何模式视图控制器返回后显示UITextField上的键盘(使用becomeFirstResponder ),键盘从不显示。 以下是我尝试过的一个设置的示例代码: 在HomeViewController : – (void)viewDidAppear:(BOOL)animated { static BOOL firstTimeComplete = false; if (!firstTimeComplete) { firstTimeComplete = true; } else { UITextField *textField = [[UITextField alloc] init]; [self.view addSubview:textField]; [textField performSelector:@selector(becomeFirstResponder) withObject:nil afterDelay:3] } } 在ModalViewController : – (IBAction)done:(id)sender { [self dismissViewControllerAnimated:YES completion:nil]; } 在哪里done:通过触摸内部事件链接到“完成”button。 我已经尝试了几件事情: 转换模式segues推推进解决了这个问题,但我不希望任何子视图中的导航栏 我已经尝试禁用和启用animation时closures模式视图控制器(使用dismissViewControllerAnimated: 在故事板中使用展开segues而不是以编程方式进行 任何人都知道可能会发生什么?

在模态视图的父视图中访问IBOutlet

我有一个iOS应用程序,我的架构是: VC1 => MVC1 我想访问一个VC1的IBOutlet(aboutBtn)。 我尝试在MVC1中创build委托并将VC1设置为委托,但仍无法访问它。 我该怎么做?

login到主应用程序

我已经build立了主要的应用程序和login。 在appDelegate.m didFinishLaunchingWithOptions ,我有 [self.window addSubview:rootController.view]; 加载mainView。 但是,我想它首先加载我的login成功的login,它会加载rootController(主要应用程序)等 当我把 [self.validateViewController presentModalViewController:validateViewController animated:YES]; 并运行应用程序,我得到的只是一个白色的屏幕。 我究竟做错了什么? – >我试图这样做的原因是,因为目前,我有rootController首先加载,但在viewDidLoad,它加载login模式。 因此,它首先运行numberOfRowsInSection,当我login后最终进入应用程序时,它将不会显示任何tableview,因为它已经通过了numberOfRowsInSection。

放松继续不被触发

我有一个故事板,有一个起始视图控制器,呈现其他模式视图控制器。 说视图控制器A是startingViewController,而视图控制器B是模态呈现的视图控制器。 我怎样才能从B的ViewController A(不只是从一个位于ViewController B上的button)触发从B回退到A? 该button的工作来执行unwind segue,但是当我尝试以编程方式使用它时 [self performSegueWithIdentifier:@"ReturnToStart" sender:self] 发生错误: Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<StartViewController: 0x1ed4b9b0>) has no segue with identifier 'ReturnToStart'' 我不明白的是,当我按下模式视图控制器上的一个button时,unwind segue工作正常,但是当我尝试从另一个ViewController触发它时找不到segue(标识符在故事板中是正确的)。 有没有办法从我的startingViewController访问所有的segues或是我的结构从根本上错误?

Modal View Controller首次显示空白,随后正常工作

我有一个模式的视图控制器,我试图在其中呈现一个Web视图。 这是第一次出现,它显示为空白。 当我把它closures并再次点击时,它显示正常。 我想这可能是加载的webView的问题,但我试图显示它只有当webView完成加载,但它永远不会被调用。 NSURL* newURL = [[NSURL alloc] initFileURLWithPath: fileString]; NSURLRequest *newURLRequest = [[NSURLRequest alloc] initWithURL: newURL]; [webViewController.webView loadRequest: newURLRequest]; [newURL release]; [newURLRequest release]; webViewController.modalPresentationStyle=UIModalPresentationPageSheet; [self presentModalViewController:webViewController animated:YES];

在应用程序启动时通过splitviewcontroller呈现模态视图控制器

由于需要将UISplitViewController设置为rootviewcontroller,因此我试图在应用程序启动时以模态方式呈现viewcontroller,以充当用户的login/欢迎屏幕。 显然,我的AppDelegate.m中的下面的代码应该做的IOS 6的技巧: #import "AppDelegate.h" #import "WelcomeViewController.h" @implementation AppDelegate – (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. WelcomeViewController *modalWelcomeView = [[WelcomeViewController alloc] initWithNibName:@"Welcome" bundle:nil]; [modalWelcomeView setModalPresentationStyle:UIModalPresentationFullScreen]; [self.splitViewController presentViewController:modalWelcomeView animated:NO Completion:nil]; return YES; } 但是我得到一个“物业'splitViewController'找不到types'AppDelegate'的对象上面的行return YES; 。 我担心我在做一些愚蠢的事情 有什么build议么? 非常感谢。