0

如您在此屏幕截图中所见,我正在使用 UITextField 和 UIButton:

在此处输入图像描述

有时需要禁用“测试”按钮,所以我使用以下代码禁用它:

    [_hButton setEnabled:NO];
    [_hButton setHidden: true]; 

但问题是 UITextField 不会像您在此处看到的那样从屏幕上占用整个宽度:

在此处输入图像描述

这是我故事板中 UITextField 的设置:

在此处输入图像描述

知道如何解决这个问题吗?

4

3 回答 3

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;

当你想要返回这个时,只需进行反向计算。

于 2013-04-24T09:00:13.700 回答
0

虽然按钮是隐藏的,但它仍然存在。您应该将其从视图中完全删除以获得所需的效果[_hButton removeFromSuperview];

于 2013-04-24T08:58:47.567 回答
0

UITextView 没有调整大小,因为按钮仍然存在,只是不可见。隐藏按钮后,手动调整 UItextView 框架。

于 2013-04-24T09:01:22.760 回答