【问题标题】:UIView for Table View Header Width Wrong表视图标题宽度错误的 UIView
【发布时间】:2015-10-27 02:53:14
【问题描述】:

我有一个 UIView 作为我的 tableview 标题,但由于某种原因宽度比模拟器略小。我无法解决这个问题。 tableview 在视图控制器内部,UIView 是这样分配的:

UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, self.view.frame.size.width, 40.0)];

宽度显示为 375 而不是应该的 400,因此它在 iPhone 6 模拟器和我的 iPhone 6 上略小。

我知道 iPhone 6 本身的宽度是 375,但是如果您在尺寸检查器中看到视图的宽度,它会显示 400,如下图所示。您还可以看到 UIView 如何比 UITableView 宽度略小。这也可能是由于一些间距问题,我不确定。添加到 uitableview 的约束是上下间距为 0,左右间距为 -20。

【问题讨论】:

  • self.view.frame.size.width 在 iPhone 6 上应该是 375,为什么是 400?

标签: ios objective-c iphone xcode uitableview


【解决方案1】:

你应该把你的框架设置在:

viewDidLayoutSubviews

因为它的框架是正确的。

【讨论】:

  • 你能说得更具体点吗?那么我将使用哪个框架? self.view.frame.size.width 在 vi​​ewDidLayoutSubviews 内仍然是 375。
  • iPhone 6 的屏幕尺寸是 375。你是 6 plus 的吗?
  • 您可以尝试在情节提要上添加约束并设置 myViewFrame.width = tableview.width 时取消选中对边距的约束
  • 宾果游戏,我感觉是-20 间距。我未选中对边距的约束,并且间距选项允许为 0,这正是我想要的。谢谢。
【解决方案2】:

我有一种感觉,这是我在 tableview 上的 -20 间距。我不确定如何将其设为 0,但 walk_alone 建议取消选中对边距的约束,这使我可以将两个侧面约束的间距设置为 0。这允许 UIView 占据整个宽度。

【讨论】:

    猜你喜欢
    • 2013-01-28
    • 2011-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多