【问题标题】:UIButton added as subview is away from UIView作为子视图添加的 UIButton 远离 UIView
【发布时间】:2014-04-18 03:55:30
【问题描述】:

尝试并搜索了很多。当父视图的框架较小时,作为子视图添加的按钮远离视图。我不希望它在框架很小的时候出现。

 UIView *vw = [[UIView alloc] initWithFrame:CGRectMake(20 , 100, 200, 30)];
    UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];
    [btn setTitle:@"OK" forState:UIControlStateNormal];
    [btn setFrame:CGRectMake(20 , 100, 30, 20)];
    [vw sendSubviewToBack:btn];
    [vw addSubview:btn];
    [vw setBackgroundColor:[UIColor redColor]];
    [self.view addSubview:vw];

这是我的代码。看起来像这样

【问题讨论】:

  • 你知道superview的界限。测试您是否放置按钮。
  • 检查 UIButton 的第一个视图层次结构......它在 iOS 7 中发生了变化
  • give [btn setFrame:CGRectMake(20 , 0, 30, 20)];
  • 检查这个stackoverflow.com/questions/5423185/…你必须剪辑子视图
  • 按钮的框架应该有 y 原点 0。您必须添加 btw 然后对其进行操作。 [大众添加子视图:btn]; [大众 sendSubviewToBack:btn];

标签: ios iphone


【解决方案1】:

你做错了。在将 btn 添加到视图之前,您已经调用了 sendSubviewToBack:。改写如下。

[vw addSubview:btn];//First
[self.view addSubview:vw];//second
[vw sendSubviewToBack:btn];//Third

如果它位于超级视图之外,您不想出现,请使用它。 vw.clipsToBounds = YES

【讨论】:

    【解决方案2】:

    查看 UIButton 的框架。它的 origin.y 是 100px。如果你想将它添加到 vw,它应该是 0。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-13
      • 1970-01-01
      • 2014-09-08
      • 2012-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多