Ios &引用;n内部一致性异常[…]叹息。Contentview大小为零;使用UINavigationController时崩溃
我的代码在iOS 10.3.3上运行得非常好,而当我在iOS 11.2.1上运行相同的代码时,它会在启动时导致崩溃,并出现以下错误: -[[u UINavigationBarVisualProviderModernIOS\u contentViewFittingHeight],/BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit/UIKit-3698.33.7/_UINavigationBarVisualProviderModernIOS.m:569Ios &引用;n内部一致性异常[…]叹息。Contentview大小为零;使用UINavigationController时崩溃,ios,swift,crash,Ios,Swift,Crash,我的代码在iOS 10.3.3上运行得非常好,而当我在iOS 11.2.1上运行相同的代码时,它会在启动时导致崩溃,并出现以下错误: -[[u UINavigationBarVisualProviderModernIOS\u contentViewFittingHeight],/BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit/UIKit-3698.33.7/_UINavigationBarVisualProviderModer
由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“叹气”。Contentview大小为零。” 我清理了代码,清理了派生数据,但这些并没有解决问题
let sideMenuVc = UISideMenuNavigationController(rootViewController: <view controller>)
我用于幻灯片菜单“iOS幻灯片菜单”的库中有一个问题。所以,我只是在库中更改了这两个非常有效的方法
- (void)setup
{
[[NSUserDefaults standardUserDefaults] setObject:nil forKey:@"ssidName"];
[[NSUserDefaults standardUserDefaults] synchronize];
if (singletonInstance)
NSLog(@"Singleton instance already exists. You can only instantiate one instance of SlideNavigationController. This could cause major issues");
singletonInstance = self;
self.menuRevealAnimationDuration = MENU_SLIDE_ANIMATION_DURATION;
self.menuRevealAnimationOption = MENU_SLIDE_ANIMATION_OPTION;
}
- (void)viewWillLayoutSubviews
{
[super viewWillLayoutSubviews];
// Update shadow size of enabled
if (self.enableShadow)
self.view.layer.shadowPath = [UIBezierPath bezierPathWithRect:self.view.bounds].CGPath;
self.landscapeSlideOffset = self.view.frame.size.width/6;
self.portraitSlideOffset = self.view.frame.size.width/6;
self.panGestureSideOffset = 0;
self.avoidSwitchingToSameClassViewController = YES;
self.enableShadow = YES;
self.enableSwipeGesture = NO;
self.delegate = self;
// When menu open we disable user interaction
// When rotates we want to make sure that userInteraction is enabled again
[self enableTapGestureToCloseMenu:NO];
if (self.menuNeedsLayout)
{
[self updateMenuFrameAndTransformAccordingToOrientation];
// Handle different horizontal/vertical slideOffset during rotation
// On iOS below 8 we just close the menu, iOS8 handles rotation better so we support keepiong the menu open
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"8.0") && [self isMenuOpen])
{
Menu menu = (self.horizontalLocation > 0) ? MenuLeft : MenuRight;
[self openMenu:menu withDuration:0 andCompletion:nil];
}
self.menuNeedsLayout = NO;
}
}
我用于幻灯片菜单“iOS幻灯片菜单”的库中有一个问题。所以,我只是在库中更改了这两个非常有效的方法
- (void)setup
{
[[NSUserDefaults standardUserDefaults] setObject:nil forKey:@"ssidName"];
[[NSUserDefaults standardUserDefaults] synchronize];
if (singletonInstance)
NSLog(@"Singleton instance already exists. You can only instantiate one instance of SlideNavigationController. This could cause major issues");
singletonInstance = self;
self.menuRevealAnimationDuration = MENU_SLIDE_ANIMATION_DURATION;
self.menuRevealAnimationOption = MENU_SLIDE_ANIMATION_OPTION;
}
- (void)viewWillLayoutSubviews
{
[super viewWillLayoutSubviews];
// Update shadow size of enabled
if (self.enableShadow)
self.view.layer.shadowPath = [UIBezierPath bezierPathWithRect:self.view.bounds].CGPath;
self.landscapeSlideOffset = self.view.frame.size.width/6;
self.portraitSlideOffset = self.view.frame.size.width/6;
self.panGestureSideOffset = 0;
self.avoidSwitchingToSameClassViewController = YES;
self.enableShadow = YES;
self.enableSwipeGesture = NO;
self.delegate = self;
// When menu open we disable user interaction
// When rotates we want to make sure that userInteraction is enabled again
[self enableTapGestureToCloseMenu:NO];
if (self.menuNeedsLayout)
{
[self updateMenuFrameAndTransformAccordingToOrientation];
// Handle different horizontal/vertical slideOffset during rotation
// On iOS below 8 we just close the menu, iOS8 handles rotation better so we support keepiong the menu open
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"8.0") && [self isMenuOpen])
{
Menu menu = (self.horizontalLocation > 0) ? MenuLeft : MenuRight;
[self openMenu:menu withDuration:0 andCompletion:nil];
}
self.menuNeedsLayout = NO;
}
}
修正了,两行必须在
视图willlayoutsubviews
中,而不是setup
方法中。正如@Ishika所说,这是iOS幻灯片菜单的问题
self.enableShadow = YES;
self.enableSwipeGesture = YES;
修正了,两行必须在
视图willlayoutsubviews
中,而不是setup
方法中。正如@Ishika所说,这是iOS幻灯片菜单的问题
self.enableShadow = YES;
self.enableSwipeGesture = YES;
我在使用Xcode 10.2.1和6.0.4时发生了此错误。我最终以编程方式配置了导航控制器,解决了这个问题
let sideMenuVc = UISideMenuNavigationController(rootViewController: <view controller>)
let sideMenuVc=UISideMenuNavigationController(rootViewController:)
这个错误发生在我使用Xcode 10.2.1和6.0.4时。我最终以编程方式配置了导航控制器,解决了这个问题
let sideMenuVc = UISideMenuNavigationController(rootViewController: <view controller>)
let sideMenuVc=UISideMenuNavigationController(rootViewController:)
检查此项,@sleepwalkerfx:我确实检查了此链接,但没有发现任何有用的内容。您是否查看了此答案?是的,我查看了,但我无法理解应该做哪些更改..检查此项,@sleepwalkerfx:我确实检查了这个链接,但没有发现任何有用的东西。你有没有研究这个答案?是的,我有,但我不明白我应该做什么改变。。