0

首先,我必须声明我是 Objective-C 和 iOS 编程的新手。

好的,所以我运行了一个简单的应用程序,但是在尝试从一种视图切换到另一种视图时遇到了一些问题。计划是在调用的视图中执行“登录逻辑”,RootView然后将用户发送到该视图DataViewController。我试过用谷歌搜索,但无论我如何尝试实现代码,它都会让 Xcode 哭泣。

我怎样才能达到想要的效果?

以下是以下文件:

RootViewController.h

#import <UIKit/UIKit.h>
@interface RootViewController : UIViewController <UIPageViewControllerDelegate>
@property (strong, nonatomic) UIPageViewController *pageViewController;
@end

根视图控制器.m

@interface RootViewController ()

@end

@implementation RootViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
}

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
}

@end

数据视图控制器.h

#import <UIKit/UIKit.h>
@interface DataViewController : UIViewController
@property (strong, nonatomic) IBOutlet UILabel *dataLabel;
@property (strong, nonatomic) id dataObject;
@end

数据视图控制器.m

#import "DataViewController.h"

@interface DataViewController ()

@end

@implementation DataViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
}

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
}

@end

它几乎只是一个空模板,但由于某种原因,它不适用于我之前尝试过的解决方案。

4

3 回答 3

0

当你准备好继续前进时,在你的RootViewController(可以是你喜欢的任何方法):

GeoPartyDataViewController *dataController = [[GeoPartyDataViewController alloc] initWithNibName:@"GeoPartyDataViewController.xib" bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController:dataController animated:TRUE];

不要忘记#import "DataViewController.h"在你的RootViewController.m.

根据您到目前为止提供的信息做出的假设,您DataViewController有一个.xib名为GeoPartyDataViewController.xib. 这只是一个例子。如果您正在使用故事板或其他机制,请在评论中告诉我。

于 2013-03-05T23:42:56.073 回答
0

首先你需要添加GeoPartyDataViewController.hRootViewController.m这样的

#import "GeoPartyDataViewController.h"

现在对于 go to GeoPartyDataViewController,您需要创建它的实例。

GeoPartyDataViewController *obj =[[GeoPartyDataViewController alloc] initWithNibName:@"GeoPartyDataViewController.xib" bundle:[NSBundle mainBundle]];
[self presentViewController:obj animated:YES completion:nil];

上面的代码写在你要进行的相关地方GeoPartyDataViewController

于 2013-03-06T05:05:59.717 回答
0

使它与此一起使用:

- (void)viewDidAppear:(BOOL)animated
{
    UIStoryboard *storyboard = self.storyboard;
    UIViewController *mtvc = [storyboard instantiateViewControllerWithIdentifier:@"GeoPartyDataViewController"];
    [self presentViewController: mtvc animated:NO completion:nil];
}
于 2013-03-06T13:47:30.873 回答