我正在使用UITextField和UIButton,如您在此屏幕截图中所示:
有时需要禁用“测试”按钮,因此我使用以下代码禁用它:
[_hButton setEnabled:NO];
[_hButton setHidden: true];
但问题是UITextField没有像你在这里看到的那样从屏幕上获取整个宽度:
这是我的故事板中UITextField的设置:
知道如何解决这个问题吗?
答案 0 :(得分:4)
执行此操作[_hButton setEnabled:NO];
[_hButton setHidden: true];
时,您必须修改textField宽度。
您的代码应该是..
CGRect oldFrame = yourTextField.frame;
CGRect frameNew = CGRectMake(oldFrame.origin.x,oldFrame.origin.y,oldFrame.size.width + _hbutton.frame.size.width,oldFrame.size.height);
yourTexField.frame = frameNew;
如果您想要这样做,只需进行反向计算。
答案 1 :(得分:0)
虽然按钮是隐藏的,但它仍然存在。您应该完全从视图中删除它以获得所需的效果[_hButton removeFromSuperview];
答案 2 :(得分:0)
UITextView没有调整大小,因为按钮仍在那里,它只是不可见。隐藏按钮后,手动调整UItextView框架。