簡體   English   中英

在UITextView中鍵入bad_Access異常

[英]bad_Access exception when typing in UITextView

我不知道這段代碼有什么問題; 當我開始在UITextView中鍵入內容時,該程序以exc_Bad_Access異常終止。

UIView *toolbar = [[UIView alloc] initWithFrame:CGRectMake(0, 430, 320, 44)];
toolbar.backgroundColor = [UIColor lightGrayColor];
UITextView *sendTextView = [[UITextView alloc] initWithFrame:CGRectMake(10, 9, 240, 26)];
sendTextView.backgroundColor = [UIColor whiteColor];
sendTextView.inputAccessoryView = toolbar;
sendTextView.layer.cornerRadius = 12.0;
[toolbar addSubview:sendTextView];
[self.view addSubview:toolbar];

上面的代碼在UIViewController的viewDidLoad方法內部,該方法以UIScrollView作為其視圖。

將可編輯的文本視圖放在工具欄中似乎很奇怪。 (當用戶想要編輯它時,您會怎么做?將它移到鍵盤上方?我不希望工具欄移動或包含可編輯字段。)但是,如果這樣做會引起EXC_BAD_ACCESS,我會感到驚訝。

您鍵入時實際運行的代碼(例如,文本視圖委托方法之一)中的問題更有可能出現。 如果在此找不到任何內容,請在崩潰時發布堆棧跟蹤,並提供當時實際運行的方法的代碼。

更新:在注釋中指出后,我看到您正在將工具欄設置為sendTextView的輸入附件視圖, 並將其添加到視圖控制器的視圖中。 我猜想這里發生的是,當您開始編輯文本視圖時,文本視圖將工具欄添加到鍵盤視圖中,而沒有先從視圖控制器的視圖中將其刪除。 一個給定的視圖一次只能成為一個視圖層次的一部分。 將其添加到視圖並將其用作輸入附件視圖將不起作用。 如果查看Apple使用附件視圖的示例代碼,您會發現用作附件的視圖不屬於常規視圖層次結構。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM