Tag: uiviewcontroller

最简单的方法来支持多个方向? 如何在应用程序处于横向模式时加载自定义的NIB?

我有一个应用程序,我想支持多个方向。 我有两个我想使用的.xib文件,myViewController.xib和myViewControllerLandscape.xib. myViewController.xib myViewControllerLandscape.xib. myViewController.xib存在于项目/资源中, myViewControllerLandscape.xib存在于根项目目录中。 我想要做的是为我的旋转使用单独的NIB (myViewControllerLandscape.xib) 。 我尝试在viewDidLoad l检测旋转viewDidLoad l ike this: if((self.interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (self.interfaceOrientation == UIInterfaceOrientationLandscapeRight)) { NSLog(@"Landscape detected!"); [self initWithNibName:@"myViewControllerLandscape" bundle:nil]; } 但是我可以在gdb中看到,当应用程序以横向设备启动时,这不会被执行。 NSLog消息不会触发。 为什么是这样? 我做错了什么? 另外,如果我明确地将initWithNibName函数调用放在viewDidLoad方法中,那么该nib不会被加载,并且继续使用myViewController.xib文件。 我的电话有什么问题? 我应该指定一个包吗? 谢谢!

如何只允许单个UIViewController在风景和肖像方向旋转?

我的应用程序仅适用于iphone设备(iPhone 4和iPhone 5),并且仅支持ios 6 。 我的整个应用程序只支持portrait模式。 但是有一个叫“ ChatView ”的视图,我想支持landscape和portrait模式。 我已经设置了所需的设备旋转如下 – 我也试过下面的代码来支持“ChatView”中的旋转 – -(BOOL)shouldAutorotate { return YES; } -(NSUInteger)supportedInterfaceOrientations { return UIInterfaceOrientationMaskLandscape; } 但是它不能旋转那个视图。 我已经搜寻了很多,但无法find我的问题的解决scheme。 在“聊天视图”中还有一些对象,如button,框架设置为编程的文本框。 所以我想知道我应该不得不为景观模式设置所有这些对象的帧? 请帮帮我。 谢谢…..

如何在Swift中将一个视图控制器的方向locking到肖像模式

由于我的应用程序得到所有方向的支持。 我想只locking肖像模式到特定的UIViewController。 (例如,假设它是选项卡式应用程序,当SignIn View以模态方式出现时,我只希望将SignIn View视为纵向模式,无论用户如何旋转设备或当前设备的方向如何)

模态视图控制器 – 如何显示和解除

在最后一个星期,我打破了如何解决显示和解散多个视图控制器的问题。 我已经创build了一个示例项目,并直接从项目中粘贴代码。 我有3个视图控制器与他们相应的.xib文件。 MainViewController,VC1和VC2。 我在主视图控制器上有两个button。 – (IBAction)VC1Pressed:(UIButton *)sender { VC1 *vc1 = [[VC1 alloc] initWithNibName:@"VC1" bundle:nil]; [vc1 setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal]; [self presentViewController:vc1 animated:YES completion:nil]; } 这将打开VC1没有问题。 在VC1中,我有另一个应该打开VC2的button,同时closuresVC1。 – (IBAction)buttonPressedFromVC1:(UIButton *)sender { VC2 *vc2 = [[VC2 alloc] initWithNibName:@"VC2" bundle:nil]; [vc2 setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal]; [self presentViewController:vc2 animated:YES completion:nil]; [self dismissViewControllerAnimated:YES completion:nil]; } // This shows a warning: Attempt to dismiss from […]

UIViewController返回无效的框架?

当我以landscape模式启动我的ViewController(在调用viewDidLoad之后)时,我打印它给框架大小的肖像模式。 这是一个错误的任何build议? – (void)viewDidLoad { [super viewDidLoad]; NSLog(@"%@", NSStringFromCGRect(self.view.frame)); // Result is (0, 0 , 768, 1024) }

无法识别的select器发送到实例

我创build一个button和响应点击事件,但得到这个错误: -[NSCFDictionary numberButtonClick:]: unrecognized selector sent to instance 0x3d03ac0 2010-03-16 22:23:58.811 Money[8056:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason:'*** -[NSCFDictionary numberButtonClick:]: unrecognized selector sent to instance 0x3d03ac0' 这我的代码: – (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) { UIButton *numberButton = [UIButton buttonWithType:UIButtonTypeCustom]; numberButton.frame = CGRectMake(10, 435, 46, 38); [numberButton […]

致命错误:对类使用未实现的初始化程序'init(coder :)'

我决定继续我的剩余的项目与Swift语言。当我在故事板viewcontroller中添加自定义类(.swift类的子类UIViewcontroller),并加载项目的应用程序崩溃突然出现以下错误 : 致命错误:对类使用未实现的初始化程序'init(coder :)' 这是一个代码: import UIKit class TestViewController: UIViewController { init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) { super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil) // Custom initialization } override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. […]

用于推送UIViewController的自定义animation

我想在推视图控制器时显示一个自定义的animation:我想实现类似“展开”的animation,这意味着新的视图从一个给定的矩形扩展,让animation中的[100,100 220,380]全屏。 任何build议,从哪里开始,分别是任何文件,教程,链接? 🙂 好的。 我可以使用下面的代码来制作展开animation: if ([coming.view superview] == nil) [self.view addSubview:coming.view]; coming.view.frame = CGRectMake(160,160,0,0); [UIView beginAnimations:@"frame" context:nil]; [UIView setAnimationDuration:4]; [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; [coming viewWillAppear:YES]; [going viewWillAppear:YES]; coming.view.frame = CGRectMake(0, 0, 320, 480); [going viewDidDisappear:YES]; [coming viewDidAppear:YES]; [UIView commitAnimations]; 我的视图正确显示,但不幸的是导航栏不更新。 有没有办法做到这一点手动? 在示例代码中,函数被全部调用了0.03秒,用于更新视图的转换。 不幸的是,当推UIViewController ,我无法调整视图的框架…我是吗?

将数据传回前一个视图控制器

我正在尝试将数据传回给以前的viewController。 有谁知道如何将数据从ViewController B传递给ViewController A? 所以我想要一个string从'BIDAddTypeOfDealViewController'到BIDDCCreateViewController。 用户编辑viewController B,我想在编辑的数据返回ViewController A,然后我使用它。 我正在使用此答案的“传回数据”部分。 我的不同之处:第3点和第6点刚刚提到,当视图popup,所以我把这个代码在viewWillDisappear。 我认为这是正确的? 同样在第六点,我没有用笔尖初始化,因为这是旧的。 我正在使用故事板。 而且我没有添加最后一行,因为我不相信我会推它。 按下我的故事板上的一个button已经把我推进了。 我认为这个问题可能出现在BIDDCCreateViewController,我有方法,但我不能运行它。 运行一个方法,它应该去[自我方法]。 我无法做到这一点。 那么这正是我所猜测的。 它编译和运行良好,没有任何logging,所以我不知道它是否工作。 更新:我无法获得'sendDataToA'方法执行。 #import <UIKit/UIKit.h> #import "BIDAddTypeOfDealViewController.h" @interface BIDDCCreateViewController : UIViewController @property (strong, nonatomic) NSString *placeId; – (IBAction)gotoBViewController:(id)sender; @end #import "BIDDCCreateViewController.h" #import "BIDAddTypeOfDealViewController.h" @implementation BIDDCCreateViewController – (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading […]

什么是StoryBoard ID,我如何使用它?

我是IOS开发新手,最近刚刚开始使用Xcode 4.5。 我看到每个viewController,我可以设置一些身份variables,包括故事板ID。 这是什么,如何使用它? 我开始在stackoverflow上search,找不到任何解释。 我认为这不只是一个愚蠢的标签,我可以设置记住我的控制器吗? 它有什么作用?