【问题标题】:UISegmentedControl not expanding size for navigation bar/very squishedUISegmentedControl 没有扩大导航栏的大小/非常挤压
【发布时间】:2011-02-25 13:25:03
【问题描述】:

运行 iPhone SDK 书籍和其中一个示例让我创建了一个表格,然后在表格中添加一个 UISegmentedControl 以进行排序。

我在 IB 尽职尽责地做到了这一点,看起来很棒:

IB Screenshot http://img.skitch.com/20100529-83sefni21q4nj51rw1mghh2yj1.jpg

当我在模拟器或手机中运行它时,它完全被压扁了:

Squished http://img.skitch.com/20100529-x3pmr7gkb6xpm766bupi7quy55.jpg

这些按钮工作得很好,只是它们的大小没有根据它们的内容。有什么想法吗?

这是我设置的属性:

Attributes http://img.skitch.com/20100529-tp4d69bk8x98c6sjpmcne92etb.jpg

【问题讨论】:

    标签: iphone uisegmentedcontrol


    【解决方案1】:

    您可以尝试显式设置每个分段控件组件的宽度。单击检查器顶部的“大小”选项卡并设置每个组件的宽度。

    【讨论】:

      【解决方案2】:

      我曾经遇到过同样的问题。问题是 UINavigationController 的视图不是层次结构中的顶级视图(它没有直接添加到 UIWindow),而是作为子视图添加到另一个视图控制器的视图中。这只是一个猜测,也许这也是你的问题(或者有多个可见的视图控制器)。

      【讨论】:

      • 我对这一切还很陌生,所以我不是 100% 确定我会遵循,但导航控制器的视图是“从 RootView 控制器加载”,这是一个表格视图。
      • 检查您的应用程序委托,它应该包含一个 [window addSubview:] 行。如果它的参数不是“navigationController.view”之类的,那么这个例子就是不好的(至少,恕我直言)。如果是这种情况,请尝试将 navigationController.view 添加到窗口(而不是旧的子视图),并将其 rootViewController 设置为具有分段控制内容的视图控制器。
      • 啊,明白了。是的,它是你描述的设置;实际上,我并没有从新项目生成的内容中触及这一点。
      【解决方案3】:

      好的,所以在尝试实现@Chris Gummer 的答案时,我似乎已经了解了更多关于 Size->View Size 属性面板如何工作的信息。默认为:

      Default Sizing http://img.skitch.com/20100529-gg9dwq5em3557yb1d6d721hpn4.jpg

      这似乎不是一个好的默认值。我的书没有提到需要调整这个,所以我没有看。设置盒子的内部水平箭头(我猜这意味着“使宽度适合可用空间”)起到了作用:

      The Answer http://img.skitch.com/20100529-xt1bqghb4kbm2pbcqf1i1uygab.jpg

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-01-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-10-01
        • 1970-01-01
        • 2017-03-19
        • 1970-01-01
        相关资源
        最近更新 更多