0

作为导航控制器的一部分,我有 2 个视图。

我使用公共方法为我的导航控制器创建了一个类,第一个视图上的某些操作将触发以加载详细视图控制器。我正在导入详细视图控制器,但我的代码中没有任何工作。我知道该方法被正确调用,因为我正在记录它。

我在这里做错了什么?

#import <UIKit/UIKit.h>

@interface NearbyController : UINavigationController

- (void) nextpage;

@end

#import "NearbyController.h"
#import "DetailView.h"

@implementation NearbyController


-(void) nextpage {
    NSLog(@"working");

    DetailView *nextView = [[DetailView alloc] init];
    [self pushViewController:nextView animated:YES];
}

@end
4

3 回答 3

0

如果您正在使用情节提要,您想做的是在 DetailViewViewController 的身份检查器中设置情节提要 ID

然后你会想像这样实例化你的视图控制器:

 UIStoryboard *sb = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
 DetailView *nextView =[sb instantiateViewControllerWithIdentifier:@"DetailViewViewController"];
 /* your identifier is your storyboard id*/
 sb = nextView.storyboard;

然后你应该能够推送你的视图控制器。我还是新手,但我希望这会有所帮助!

于 2013-06-16T21:54:11.763 回答
0

如果您设置了情节提要 ID,则可以执行此操作

DetailView *nextView = (DetailView *)[self.storyboard instantiateViewControllerWithIdentifier:@"DetailViewControllerID"];
[self pushViewController:nextView animated:YES];

如果您想从 XIB 加载,您可以调用

DetailView *nextView = [[DetailView alloc] initWithNibName:@"MyDetailViewControllerID" bundle:nil];
[self pushViewController:nextView animated:YES];

希望能帮助到你!

于 2013-06-16T20:59:36.350 回答
0

如果您以编程方式初始化视图控制器,则应使用此init

于 2013-06-16T20:49:05.667 回答