【问题标题】:Resize UIView and change subview position simultaneously调整 UIView 大小并同时更改子视图位置
【发布时间】:2012-11-12 16:40:54
【问题描述】:

我已经在 Interface Builder 的 ViewController 中放置了一个带有 UIButton 的 UIView 作为子视图。我还有一个 UITextField,每次我在其中输入内容时都会触发一个动作女巫。当我输入一些东西时,我的视图应该会变高,并且按钮应该移动到视图的底部。但是当我在文本字段中键入第一个字母时,视图会调整大小但按钮不会移动。当我键入第二个字母时,按钮会移动。可能是因为视图已经调整大小。我的问题是在文本字段中输入第一个字母时如何让它同时工作。

我的代码:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyPressed:) name:UITextFieldTextDidChangeNotification object:textField];

- (void)keyPressed:(NSNotification*)notification{

    view.frame = CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 200.0);
    button.frame = CGRectMake(button.frame.origin.x, (view.frame.size.height-button.frame.size.height), button.frame.size.width, button.frame.size.height);

}

【问题讨论】:

    标签: objective-c ios4 uiview uibutton


    【解决方案1】:

    尝试实现这个方法:

    -(void)textFieldDidBeginEditing:(UITextField *)textField
    { 
     // put your action here 
    }
    

    【讨论】:

    • 在我的情况下不起作用。我需要知道我什么时候输入一些东西,这样我才能返回那个值。这也是我的代码的简短版本。实际上,UIViews 的高度会根据我在文本字段中输入的内容而变化。
    • 忘了说 UIButton 也是 UIView 的子视图。编辑了问题。
    • @DanielTovesson 你还有问题吗??
    【解决方案2】:

    通过将按钮放在视图底部来解决它。然后,当我调整视图大小时,按钮紧随其后,停留在底部。我不需要以编程方式移动按钮。

    【讨论】:

      猜你喜欢
      • 2014-09-02
      • 2013-04-12
      • 2012-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-22
      • 1970-01-01
      相关资源
      最近更新 更多