UISegmentedControl`` 在导航项上崩溃 Xcode
Posted
技术标签:
【中文标题】UISegmentedControl`` 在导航项上崩溃 Xcode【英文标题】:UISegmentedControl`` crash Xcode on Navigation Item 【发布时间】:2013-03-12 12:14:56 【问题描述】:我正在尝试将UISegmentedControl
放在Navigation Item
上,但它使我的 xcode 崩溃。我只是在 Interface Builder 文件 (IB) 文件中添加了 UISegmentedControl
,然后在 viewDisAppear
中添加了 viewDisAppear
.h
IBOutlet UISegmentedControl *segmentedControl;
.m
self.navigationItem.titleView=segmentedControl;
这只会让我的 xcode 因错误而崩溃
2013-03-12 17:38:56.343 Magazine[4728:1dc03] *** Assertion failure in -[UINavigationBar layoutSublayersOfLayer:], /SourceCache/UIKit_Sim/UIKit-2372/UIView.m:5776
2013-03-12 17:38:56.344 Magazine[4728:1dc03] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Auto Layout still required after executing -layoutSubviews. UINavigationBar's implementation of -layoutSubviews needs to call super.'
*** First throw call stack:
(0x2854012 0x1ee9e7e 0x2853e78 0x197ff35 0xe819ef 0x1efd6b0 0x7d1fc0 0x7c633c 0x7c6150 0x7440bc 0x745227 0x7458e2 0x281cafe 0x281ca3d 0x27fa7c2 0x27f9f44 0x27f9e1b 0x2d1c7e3 0x2d1c668 0xe3165c 0x2de5 0x2ce5)
libc++abi.dylib:终止调用抛出异常
为什么会出现这个错误
【问题讨论】:
您将分段控件放在 Interface Builder 的什么位置?不能直接在nib文件中做分段控制标题视图吗? 正常在视图上...但是如何让分段控制标题视图直接在nib文件中 你为什么要把Segment放在XIB中,然后也给出代码?相反,你可以通过代码分配初始化segmentedControl,然后尝试.. 从 IB 中删除分段控件并手动添加。 【参考方案1】:UISegmentedControl * seg1 = [[UISegmentedControl alloc]
initWithItems:[NSArray arrayWithObjects:@"von mir", @"alle", nil]];
[seg1 setSegmentedControlStyle:UISegmentedControlStyleBar];
self.navigationItem.titleView = seg1;
【讨论】:
以上是关于UISegmentedControl`` 在导航项上崩溃 Xcode的主要内容,如果未能解决你的问题,请参考以下文章
在 UISegmentedControl 上选择和取消选择段?
在 UIToolBar 中调整 UISegmentedControl 的大小,并针对不同的屏幕尺寸进行约束
如何在 iPad 的导航栏中调整自定义 UISegmentedControl 的大小?