Tag: uiviewcontroller

从故事板实现PageMenu /初始化视图控制器

我试图让这个吊舱在我的项目中工作,我坚持了解如何工作: https://github.com/uacaps/PageMenu // Create variables for all view controllers you want to put in the // page menu, initialize them, and add each to the controller array. // (Can be any UIViewController subclass) // Make sure the title property of all view controllers is set // Example: var controller : UIViewController = UIViewController(nibName: "controllerNibName", bundle: […]

仅通过分割视图控制器的一半呈现模态视图控制器

我正在修改现有的iPhone应用程序以在iPad上运行。 在iPhone版本中,当用户点击一个工具栏button时,我会提供一个带有modalTransitionStyle的UIModalTransitionStyleFlipHorizontal的模态视图控制器,这使得一个非常好的“卡片翻转”animation。 iPad界面基于分割视图(实际上是MGSplitViewController )。 工具栏button在细节窗格中,所以当我呈现模式视图控制器时,它占据了整个屏幕,翻转过渡是没有意义的。 为了获得正确的用户交互,我希望模态控制器出现,并且仅在详细视图控制器上进行转换,使主视图控制器保持原样。 有没有办法做到这一点?

在这种情况下,XIB中的文件所有者是什么?

我search了相当一段时间的类似问题,其中大部分提到UIViewController的xib的东西。 我试图为我的自定义viewController模型添加一个xib文件,并发现它的Xib文件的所有者应该是我自定义viewController模型的类 – 这是合理的。 但为什么情况不同,当我为我的UIView模型创build一个xib – 一个例子如下: 我创build了我的名为“KWView”(KWView.h和KWView.m)的UIView模型,然后我为这个模型创buildxib,初始化它 KWView *oneView = [[[NSBundle mainBundle] loadNibNamed:@"KWView" owner:nil options:nil ]lastObject]; 这Xib的文件的所有者名称是“NSObject” (然后我尝试任何其他更多,无论我select,它运行顺利) ,在那里,我select视图的自定义类为“KWView”[这个xib名为“KWView.xib”] 问题是: 1.无论我更改自定义视图的Xib文件的所有者名称,它的工作原理。 如果是这样,这个文件的所有者在这里做什么工作,或者说,为什么会发生这种情况? 2.一般情况下,我应该将自定义视图的Xib的文件所有者设置为我的自定义视图的类或viewController的类,这个视图将被添加到? 或者只是设置“NSObject”?

UIViewController包含animation,如Google+

要理解我想要解释的内容,最好的方法是打开Google+应用,然后点按主post中显示的post背景中的任意位置。 当你点击它时,整个post会在屏幕中心移动,并且会在下面加载post的评论。 我认为这是一个常见的UIViewController遏制情况,其中一个UIViewController在另一个。 但是,这个post如何能够animation地移动它,并在包含的视图控制器中“转移”自己? 我已经尝试创build一个简单的button,并显示一个UIViewController作为另一个popup窗口,但不知道如何做Google+的应用程序(和其他人),而不是做。 UPDATE 这里是截图。 正如你所看到的,当你点击一个post时,这个post向上滑动,并成为一个新的包含UIViewController 。

ViewController作为Swift中的MapView覆盖(如Google Maps应用程序用户界面)

我正在用Swift创build一个小应用程序,我想要实现以下function: – 带有几个注释的MapView – 点击其中一个注释显示一个覆盖层中的一些细节,从底部移入, 屏幕的一半 – 显示屏的上半部分仍然显示MapView。 点击地图上的closures细节 现在我读了很多关于不同的可能性。 首先,我试着用这样的东西来使用ContainerView: @IBOutlet weak var detailsContainerYPosition: NSLayoutConstraint! func mapView(mapView: MKMapView!, didSelectAnnotationView view: MKAnnotationView!) { UIView.animateWithDuration(0.3, delay: 0.0, options: UIViewAnimationOptions.CurveEaseOut, animations: { self. detailsContainerYPosition.constant = 0 self.view.layoutIfNeeded() }, completion: nil) } 问题是,viewDidLoad()方法只被触发一次,我想用它来build立详细信息页面后,将一些数据传递到控制器类。 所以接下来我玩了一个自定义的赛车,并与此相提并论: class DetailsSegue: UIStoryboardSegue { override func perform() { // Assign the source and destination […]

iOS:在旋转iphone之后,从一个仅支持肖像模式的视图控制器向右呈现视图控制器

我有一个应用程序始终以纵向模式呈现(在Xcode项目的摘要中,只支持纵向方向)。 现在我想要做的是,当我使用应用程序,从任何视图控制器的应用程序,如果我旋转设备的横向权利,应用程序呈现一个视图控制器(ARViewController.m)横向权利,实际上旋转到右侧是呈现ARViewController.m的触发器。 但是我所经历的是,由于第一个视图控制器只支持纵向,即使我将设备定位在右侧,我想从第一个视图中显示的视图控制器(ARViewController.m)也是纵向的,而不是在风景的权利。 即使我在第二个视图控制器(ARViewController.m)中编写它,它也不会自动旋转(这个视图控制器可以在每个方向呈现): – (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{ return YES; } 第二个视图控制器(ARViewController.m)呈现完毕后,我必须旋转一次iphone。 下面是我如何从第一个视图控制器调用第二个视图控制器(ARViewController.m): ARViewController *arVC = [[ARViewController alloc] initWithNibName:@"ARViewController" bundle:nil]; [self presentModalViewController:arVC animated:YES]; 我从“ViewController.m”调用它,这个被定义为AppDelegate.m中的rootViewController 。 这是我第一次做这样的事情,我寻找解决scheme,但仍然是同样的问题。 任何提示呢?

在选项卡栏视图控制器中限制旋转

更新2 在我的UITabBarController子类中,我尝试添加这个: -(void) tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController { NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationPortrait]; [[UIDevice currentDevice] setValue:value forKey:@"orientation"]; } 现在,每当我select一个标签项目,设备旋转到肖像模式完美。 但是,现在我可以在select(a)的同时旋转设备,设备将旋转到横向模式。 我怎样才能停止设备旋转? 我相信这个方法在我的选项卡控制器子类是什么导致这一点: – (BOOL)shouldAutorotate { if(self.selectedIndex == 0) { return NO; } return [self.viewControllers.lastObject shouldAutorotate]; } 如果我返回“否”,我不能旋转,当我在视图控制器中,但是当我select它,它不会自动旋转到肖像。 如果返回“是”,则可以在视图控制器中进行旋转,但是当select它时,会自动旋转为纵向。 我有一个自定义选项卡栏控制器在我的应用程序与以下层次结构: UITabBarController | UINavigationController | | | UIViewController(a) | UINavigationController | | | UIViewController(b) | UINavigationController | […]

AppDelegate和ViewController类的iOS区别

如何知道AppDelegate类中的代码以及ViewController类中的代码。 这两个类在UIViewController和applicationDidFinishLaunching:都有类似的方法viewDidLoad applicationDidFinishLaunching:在UIApplicationDelegate 。 我猜applicationDidFinishLaunching:会先被调用,这就是你创build视图的地方。 但是有人能解释一下这些类中的通用代码吗?

iOS:如何在popup其子UIViewController后“刷新”UIViewController?

在我的应用程序我使用UINavigationController。 我有一个“父母”UIViewController和一个“孩子”UIViewController在堆栈上运行。 用户可以对孩子进行一些设定,这些设定稍后会影响父母。 我使用NSUserDefaults来保存和检索数据,并根据NSLog似乎工作正常。 我不清楚的是,一旦我从孩子回来,我该如何“刷新”数据。 让我更具体:在孩子有一个“后退”button,做popViewControllerAnimated,然后我们回到父母。 我想重新运行我在viewDidLoad中的所有方法,所以父视图字段与我从NSUserDefaults数据中获得的更改一起设置。 哪里在父方法我应该告诉视图“刷新”? 我如何做这个刷新行动? 我应该再次调用viewDidLoad? 我读了一些名为setNeedsDisplay的东西,如果这是我应该使用的东西,语法是什么(是“[self。view setNeedsDisplay]”还是别的)? 任何人都可以指导和阐述?

在Swift视图控制器之间传递数据(从TableView到DetailViewController)

我有两个文件,MyTableViewController和myViewController。 我在MyTableVIewController的TableCell上设置了UIImageView。 myViewController不包含任何东西。 我创build了一个名为ImageArray的数组,其中包含一个Images数组。 我打算在这里做的是当我点击myCableViewController中的TableCell上的图像,我想单击的图像出现在myViewController。 还有一些关于图片旁边的点击图片的描述。 我想使用myViewController为用户获取所选图像的详细信息。 override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = self.tableView.dequeueReusableCellWithIdentifier("Cell") as! UITableViewCell var ImageView = cell.viewWithTag(1) as! UIImageView ImageView.image = UIImage(named: ImageArray[indexPath.row]) ImageView.contentMode = .ScaleAspectFit var TextView = cell.viewWithTag(2) as! UILabel TextView.text = ImageArray[indexPath.row] return cell } override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) […]