【问题标题】:UISegmentedControl parts collapse to 0 widthUISegmentedControl 部分折叠到 0 宽度
【发布时间】:2010-06-29 17:48:37
【问题描述】:

有人遇到过类似的错误吗?该控件是从 Interface Builder 放置的,并且不会被代码以任何方式修改。直到前一段时间随机构建出现错误后,它才能正常工作。发生在我的应用程序中的两个地方,而在另一个视图控制器中可以使用相同的设置。在所有情况下,控件都在 UINavigationItem 内。删除控件并重新添加它并没有改变任何东西。这仅适用于实际设备,从不在模拟器中。

【问题讨论】:

  • 如果它有帮助,我用一些代码就发生了这种情况。在以前版本的 Xcode 上,一切都很好。在使用 3.2.2 时,它们崩溃了。不知道我在家里安装的版本。
  • 我认为你没有设法解决这个问题?
  • 已确认,使用(不仅仅是针对)3.1.3 构建修复了该错误,而它与 3.2 一致。我想我必须提交一份错误报告。

标签: iphone cocoa-touch uisegmentedcontrol


【解决方案1】:

您是否尝试过设置显式组件宽度或调整控件的自动调整大小属性:

UISegmentedControl not expanding size for navigation bar/very squished

【讨论】:

  • 是和不是。设置 autoresizing 属性可以修复错误,但前提是视图控制器没有通过 uitabbarcontrollers moreviewcontroller 推送到屏幕上。即,如果我将主标签栏上的选定索引设置为 5,它显示正常,但如果我通过更多菜单导航到那里,它不是骰子。
  • 您是否有演示此行为的示例应用程序可以分享?
  • 恐怕我现在不知道,但我会尝试看看是否可以用新应用复制它。
【解决方案2】:

您是否尝试过以编程方式创建它?这绝对似乎是一个错误,但这种方法可能会否定这些错误。

为 UINavigationItem 声明一个 IBOutlet:

IBOutlet UINavigationItem *navItem;

然后当它加载时:

segCont=[[UISegmented Control alloc] initWithItems:[NSArray arrayWithObjects:@"item 1", @"item 2", nil]];

segCont.segmentedControlStyle=UISegmentedControlStyleBar;  //Optional, but in a toolbar it looks best

navItem.titleView=segCont;

[segCont autorelease];

我没有测试过这段代码,但是如果它不起作用请评论...(它可能仍然受到错误的影响,但是)

【讨论】:

  • 这违背了从 nib 加载视图层次结构的目的,但我还是会尝试一下。
【解决方案3】:

由于提出的解决方案都没有真正解决问题,我猜唯一的解决方案似乎是升级到 4.0 SDK,这似乎可以解决问题。

【讨论】:

    猜你喜欢
    • 2019-04-28
    • 2019-10-29
    • 2019-06-22
    • 2014-01-08
    • 1970-01-01
    • 2017-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多