gpt4 book ai didi

ios - obj-c 项目中的 PagingMenuController swift 库错误

转载 作者:行者123 更新时间:2023-11-30 13:22:09 24 4
gpt4 key购买 nike

在我的 Objective-C 项目中,我曾经使用 PageMenu用于用户友好导航的库,但我注意到无限的 menuScrollView 和居中选定的菜单项看起来比默认的 PageMenu 漂亮得多。

当我发现PagingMenuController时我尝试将这个 swift 库导入到 obj-c 项目中。一切似乎都很好,头文件已正确创建,已授予对 PagingMeniController 类方法的访问权限。

但是当我尝试使用带有代码的 View Controller 数组来初始化 PagingMenuController 类时:

#import "moyoutlet-Swift.h"

UIViewController* vc = [[UIViewController alloc] init];
vc.view.backgroundColor = [UIColor redColor];
vc.menuItemDescription = @"vc";

UIViewController* vc1 = [[UIViewController alloc] init];
vc1.view.backgroundColor = [UIColor whiteColor];
vc1.menuItemDescription = @"vc1";

NSArray* arr = [NSArray arrayWithObjects:vc,vc1, nil];

PagingMenuController* pvc = [[PagingMenuController alloc] initWithViewControllers:arr];

[self.view addSubview:pvc.view];

xcode 在 MenuItemView.swift 方法中显示错误

calculateLabelSize(label: UILabel, windowSize: CGSize = UIApplication.sharedApplication().keyWindow!.bounds.size) 

fatal error: unexpectedly found nil while unwrapping an Optional value

似乎 UIApplication.sharedApplication().keyWindow!.bounds.size 返回 nil。

你觉得这个错误的原因在哪里?

最佳答案

Acecilia说这个问题在this discussion中有描述。解决方案是将 -(void)viewDidAppear 中的所有内容设置为:

-(void)viewDidAppear:(BOOL)animated {

[super viewDidAppear:animated];

UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Main" bundle:nil];

FirstViewController* fvc = [sb instantiateViewControllerWithIdentifier:@"FirstViewController"];
fvc.title = @"First View Controller";
fvc.view.backgroundColor = [UIColor grayColor];

SecondViewController* svc = [sb instantiateViewControllerWithIdentifier:@"SecondViewController"];
svc.title = @"Second View Controller";
svc.view.backgroundColor = [UIColor lightGrayColor];

PagingMenuController* pvc = [[PagingMenuController alloc] initWithViewControllers:@[fvc,svc]];

[self addChildViewController:pvc];
[self.view addSubview:pvc.view];
}

我创建了example project展示它是如何工作的。

关于ios - obj-c 项目中的 PagingMenuController swift 库错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37652625/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com