2013-04-24 86 views
0

我使用的UITextField和一个UIButton,你可以在这个截图中看到:的UITextField没有考虑整个屏幕宽度

enter image description here

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

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

但问题是,给出UITextField不从屏幕取整宽度一样,你可以在这里看到:

enter image description here

这是从的UITextField在我的故事板的设置:

enter image description here

任何想法如何,我可以解决这个问题?

回答

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; 

当你想回本,只是做反向计算。

0

尽管按钮处于隐藏状态,但它仍然存在。您应该将其从视图中完全移除以获得所需的效果[_hButton removeFromSuperview];

+0

如果_hButton想再次启用意味着,addSubview'是否足够?它会工作吗? – Mani 2013-04-24 09:02:04

+0

不是100%确定,但我认为会。此外,我忘了说,他仍然需要在textField上手动设置框架,所以我认为你的答案更好:) – 2013-04-24 09:04:02

+0

好的如果你的答案能够很好地工作,这是一个好方法。这是我问我.. :) – Mani 2013-04-24 09:13:22

0

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

相关问题