标签: uiviewcontroller

如何以编程方式调用View Controller?

我已经查看了我可以在这个教程中找到的所有教程,但我仍然没有答案.我需要从代码中调用另一个视图.我在用UIStoryboards.我已经通过控制拖动多次更改了视图UIButtons,但现在它必须来自代码.如果是用户第一次打开应用程序,我试图从主菜单调用信息页面.但是,我似乎找不到从代码中更改视图的方法.我的所有视图都由相同的文件控制(ViewController2).在identifier我的主菜单是ViewControllerMain,而identifier该信息页面的是ViewControllerInfo.首先我尝试了这个:

[ViewControllerMain presentViewController: ViewControllerInfo 
                                 animated:YES 
                               completion: NULL];
Run Code Online (Sandbox Code Playgroud)

然后我尝试UIViewControllers为每个人做出不同的说法:

[ViewController2 presentViewController: ViewController 
                              animated:YES 
                            completion: NULL];
Run Code Online (Sandbox Code Playgroud)

都没有奏效.对于第一个,它说:

使用未声明的标识符ViewControllerMain.

在第二个中,它说:

意外的接口名称'ViewController':预期的标识符.

我能做什么?

objective-c uiviewcontroller ios uistoryboard presentviewcontroller

67
推荐指数
4
解决办法
13万
查看次数

以编程方式导航到另一个视图控制器/场景

从第一个视图控制器导航到第二个视图控制器时出现错误信息.我的编码就像这个

let vc = LoginViewController(nibName: "LoginViewController", bundle: nil)
self.navigationController?.pushViewController(vc, animated: true)
Run Code Online (Sandbox Code Playgroud)

问题是我总是收到这种错误信息

2014-12-09 16:51:08.219 XXXXX[1351:60b] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle </var/mobile/Applications/FDC7AA0A-4F61-47E7-955B-EE559ECC06A2/XXXXX.app> (loaded)' with name 'LoginViewController''
*** First throw call stack:
(0x2efcaf0b 0x39761ce7 0x2efcae4d 0x31b693f9 0x31ac1eaf 0x3191e365 0x317fe895 0x318a930d 0x318a9223 0x318a8801 0x318a8529 0x318a8299 0x318a8231 0x317fa305 0x3147631b 0x31471b3f 0x314719d1 0x314713e5 0x314711f7 0x3146af1d 0x2ef96039 0x2ef939c7 0x2ef93d13 0x2eefe769 0x2eefe54b 0x33e6b6d3 0x3185d891 0x4ccc8 0x4cd04 0x39c5fab7)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
Run Code Online (Sandbox Code Playgroud)

uiviewcontroller uinavigationcontroller ios swift xcode6

66
推荐指数
8
解决办法
18万
查看次数

在另一个视图控制器中添加视图控制器作为子视图

我发现这个问题的帖子很少,但没有一个解决了我的问题.

说我喜欢..

  1. ViewControllerA
  2. ViewControllerB

我试图将ViewControllerB添加为ViewControllerA中的子视图,但是它会抛出类似" fatal error: unexpectedly found nil while unwrapping an Optional value" 的错误.

以下是代码......

ViewControllerA

var testVC: ViewControllerB = ViewControllerB();

override func viewDidLoad()
{
    super.viewDidLoad()
    self.testVC.view.frame = CGRectMake(0, 0, 350, 450);
    self.view.addSubview(testVC.view);
    // Do any additional setup after loading the view.
}
Run Code Online (Sandbox Code Playgroud)

ViewControllerB只是一个带有标签的简单屏幕.

ViewControllerB

 @IBOutlet weak var test: UILabel!

override func viewDidLoad() {
    super.viewDidLoad()
    test.text = "Success" // Throws ERROR here "fatal error: unexpectedly found nil while unwrapping an Optional value"
}
Run Code Online (Sandbox Code Playgroud)

编辑

使用来自用户答案的​​建议解决方案,ViewControllerA中的ViewControllerB将离开屏幕.灰色边框是我为子视图创建的框架. 在此输入图像描述

uiviewcontroller ios swift

64
推荐指数
4
解决办法
10万
查看次数

iPhone如何检查对象的类型?

我想检查一个Object的类型.我怎样才能做到这一点?

场景是我得到一个对象.如果该对象是A类型,则执行一些操作.如果它是B类,那么做一些操作.目前,对象的类型是C,它是A和B的父级.

我有两个类AViewControllerBViewController.我进入的对象UIViewController.现在,如何检查对象是否AViewController还是BViewController

iphone uiviewcontroller uiview

63
推荐指数
2
解决办法
6万
查看次数

如何从appDelegate访问我的viewController?iOS版

我有一个iOS应用程序,我在xCode中创建为"基于视图的应用程序".我只有一个viewController,但它会自动显示,我看不到任何代码将它与我的appDelegate联系起来.我需要将数据从我的appDelegate传递到我的viewController,但不知道如何解决这个问题.

我的app delegate.h:

#import <UIKit/UIKit.h>


@interface AppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) NSDictionary *queryStrings;

@end
Run Code Online (Sandbox Code Playgroud)

另外,appDidFinishLoadingWithOptions:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    [[JMC sharedInstance] configureJiraConnect:@"https://cmsmech.atlassian.net/"           projectKey:@"WTUPLOAD" apiKey:@"7fc060e1-a795-4135-89c6-a7e8e64c4b13"];

    if ([launchOptions objectForKey:UIApplicationLaunchOptionsURLKey] != nil) {
        NSURL *url = [launchOptions objectForKey: UIApplicationLaunchOptionsURLKey];
        NSLog(@"url received: %@", url);
        NSLog(@"query string: %@", [url query]);
        NSLog(@"host: %@", [url host]);
        NSLog(@"url path: %@", [url path]);
        queryStrings = [self parseQueryString:[url query]];
        NSLog(@"query dictionary: %@", queryStrings); …
Run Code Online (Sandbox Code Playgroud)

storyboard uiviewcontroller uikit ios

62
推荐指数
5
解决办法
8万
查看次数

如何只允许单个UIViewController在横向和纵向方向上旋转?

我的应用程序仅适用于iphone设备(iphone 4和5)并且仅支持ios 6.

我的整个应用程序只支持portrait模式.但是有一个名为" ChatView"的视图,我想支持它们landscapeportrait模式.

我已按如下方式设置所需的设备旋转 -

在此输入图像描述

我也尝试过以下代码来支持"ChatView"中的旋转 -

-(BOOL)shouldAutorotate
{
    return YES;
}

-(NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskLandscape;
}
Run Code Online (Sandbox Code Playgroud)

但它无法旋转那个视图.

我已经搜索了很多,但无法找到我的问题的解决方案.

而且在"ChatView"中还有一些对象,如按钮,文本字段,其框架是以编程方式设置的.所以我想知道我是否还必须为横向模式设置所有这些对象的帧?

请帮我.

谢谢.....

iphone objective-c uiviewcontroller ios

60
推荐指数
4
解决办法
6万
查看次数

调用addChildViewController后是否必须调用addSubview?

我正在尝试使用iOS5和新方法创建一个容器视图控制器addChildViewController.

打电话addSubview后我必须打电话addChildViewController吗?

在打电话removeFromSuperview之前我必须打电话removeChildViewController吗?

我在Apple文档中没有看到任何相关内容.你怎么看?

iphone interface-builder uiviewcontroller ios5

58
推荐指数
2
解决办法
2万
查看次数

用于UIView的iOS viewDidLoad

在ViewController中,ViewDidLoad可以知道VC何时加载.

对于UIView,在加载视图时我必须使用什么方法?

是否可以使用任何init调用此方法?

编辑:没有XIB,只是以编程方式.

uiviewcontroller uiview ios

58
推荐指数
4
解决办法
5万
查看次数

UIViewController诞生的过程是什么(哪个方法遵循哪个方法)?

有许多方法来替代,比如initWithNibname:,awakeFromNib,loadView,viewDidLoad,viewDidAppear:,layoutSubviews,我只是不能决定其中为了获得这些方法调用.

我只是"用心"覆盖其中一个.

任何详细的解释?

iphone uiviewcontroller

57
推荐指数
3
解决办法
3万
查看次数

将子视图控制器链接到故事板中的父视图控制器

您可以将子视图控制器关联到Storyboard中的自定义容器视图控制器吗?

我可以将子视图控制器链接到选项卡视图控制器,我可以将一个视图控制器链接到导航控制器.

我应该怎样对容器VC接受儿童VC?

xcode cocoa-touch uiviewcontroller ios uistoryboard

57
推荐指数
5
解决办法
6万
查看次数