【问题标题】:UISegmentedControl`` crash Xcode on Navigation ItemUISegmentedControl`` 在导航项上崩溃 Xcode
【发布时间】: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 中删除分段控件并手动添加。

标签: iphone ios ipad uisegmentedcontrol uinavigationitem


【解决方案1】:
UISegmentedControl * seg1 = [[UISegmentedControl alloc]
    initWithItems:[NSArray arrayWithObjects:@"von mir", @"alle", nil]];
[seg1 setSegmentedControlStyle:UISegmentedControlStyleBar];
self.navigationItem.titleView = seg1;

【讨论】:

    猜你喜欢
    • 2013-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多