3 回答

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

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

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