3 回答

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊
我以前遇到過這個(gè)問題。
問題:
您必須確保將分配給該視圖
inputView
或inputAccessoryView
不屬于任何父視圖。當(dāng)您從ViewController中的xib創(chuàng)建這些視圖時(shí),默認(rèn)情況下會(huì)將它們?cè)O(shè)置為超級(jí)視圖的子視圖。
解決方案提示:
removeFromSuperview
在您要分配給視圖的方法上使用inputView
或inputAccessoryView

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超8個(gè)贊
就在becomeFirstResponder從超級(jí)視圖中刪除用于輸入的View 之前:
mTextField.inputView = mInputVeiw;
[mInputVeiw removeFromSuperview];
[mTextField becomeFirstResponder];
希望能幫助到你。

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超3個(gè)贊
您必須確保將分配給該視圖inputView或inputAccessoryView不屬于任何父視圖。
由于在情節(jié)提要中創(chuàng)建的任何“輸入視圖”(因此已添加到VC中view)都不能設(shè)置為inputView或inputAccessoryView不導(dǎo)致崩潰,因此此錯(cuò)誤尤其令人討厭。
如果輸入視圖未添加到VC view,則輸入視圖將無法在Interface Builder故事板中進(jìn)行可視化編輯。僅在情節(jié)提要的左窗格中可見。
如何將Xcode故事板的“模擬指標(biāo)”工具欄連接到實(shí)際的IBOutlet UIToolbar?
我希望inputAccessoryView直接在情節(jié)提要中建立IB連接。這會(huì)導(dǎo)致崩潰。我發(fā)現(xiàn)的解決方案是使第二個(gè)IBOutlet連接到情節(jié)提要中的視圖,然后viewDidLoad將其從超級(jí)視圖中刪除,然后立即分配給inputAccessoryView。不知道我是否最終會(huì)使用它。
- (void)viewDidLoad {
// ...
[self.keybordView removeFromSuperview];
self.inputAccessoryView = self.keybordView;
}
- 3 回答
- 0 關(guān)注
- 906 瀏覽
添加回答
舉報(bào)