2013-04-24 50 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框架。