【问题标题】:JASlidingpanels storyboard example root view controller errorJASlidingpanels 故事板示例根视图控制器错误
【发布时间】:2013-07-21 07:05:42
【问题描述】:

我正在尝试通过使用故事板来实现 JASliding 面板,我创建了一个左侧和中心面板以及 jaslider 类的子类

#import "RootViewController.h"
@interface RootViewController ()
@end
@implementation RootViewController
-(void) awakeFromNib
{
[self setLeftPanel:[self.storyboard
instantiateViewControllerWithIdentifier:@"leftViewController"]];
[self setCenterPanel:[self.storyboard
instantiateViewControllerWithIdentifier:@"centerViewController"]];
[self setRightPanel:nil];
}
@end

我只想使用左侧面板和中间面板。 我一直在输出中得到这个

JASidePanelSB[31404:c07] 应用程序窗口应在应用程序启动结束时有一个根视图控制器

我已经在情节提要中使用标识符创建了查看器,与 RootViewController 相关联的查看器是左侧带有箭头的初始视图。

还有什么我想念的东西

【问题讨论】:

    标签: ios storyboard


    【解决方案1】:

    我认为你的问题在于方法。您正在调用 awakeFromNib,但正在使用情节提要。尝试像这样输入您的代码:

    #import "RootViewController.h"
    @interface RootViewController ()
    @end
    @implementation RootViewController
    -(void)viewDidLoad
    {
        [self setLeftPanel:[self.storyboard
        instantiateViewControllerWithIdentifier:@"leftViewController"]];
        [self setCenterPanel:[self.storyboard
        instantiateViewControllerWithIdentifier:@"centerViewController"]];
        [self setRightPanel:nil];
    
        [self.sidePanelController showCenterPanelAnimated:YES];
    
        [super viewDidLoad];
    }
    @end
    

    请注意,我使用的是viewDidLoad 而不是awakeFromNib,因为当控制器本身从笔尖取消归档时会调用awakeFromNibviewDidLoad 在创建/取消归档视图时调用。

    你没有笔尖。

    【讨论】:

    • 不,我仍然得到相同的应用程序窗口应该在应用程序启动输出消息的末尾有一个根视图控制器。我所拥有的是网站上的说明link
    • 你这样做了吗? "2. 确保在 MySidePanelController.h 中#import "JASidePanelController.h""。我看不出你有没有。
    • 好吧 RootViewController 是 JASidePanelController 的子类,所以它会自动导入我还检查了它是否正在导入。
    • @XavierSerrano 等等,这是你的整个 .m 文件吗?为什么不把你的 RootViewController 设为 UIViewController 的子类,导入相应的文件,然后将 UIViewController 中的viewDidLoad 方法替换为我上面展示的代码?
    【解决方案2】:

    好的,我想通了。由于我将项目作为一个空应用程序启动,因此 XCode 添加了代码来分配一个新的 UIWindow 对象,该对象会干扰并给出错误。如果其他人想知道,请确保此代码不在 didFinishLoadingWithOptions 方法中

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-05
      • 2012-06-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多