我有一個UIViewController與自定義UITextView(CodeTextView)和左邊的這個文本視圖我有一個自定義的UITableView(LinesTableView)。 LinesTableView包含與CodeTextView對齊的行號。自定義UITextView當按下輸入時調整大小
當我開始編輯CodeTextView和鍵盤出現時,我編輯的這兩種觀點的大小:
- (void)keyboardAppears:(NSNotification *)notification
{
[_codeTextView setFrame:CGRectMake(30, 0, 290, self.view.frame.size.height - 216.0f)];
[_linesTableView setFrame:CGRectMake(0, 0, 30, self.view.frame.size.height - 216.0f)];
}
當編輯CodeTextView,當我按下一個按鈕,我更新LinesTableView:
- (void)updateLines
{
NSString *plainText = self.text;
NSArray *components = [plainText componentsSeparatedByString:@"\n"];
int lines = components.count;
if([[components lastObject] isEqualToString:@""]) lines--;
_linesTableView.lines = lines;
[_linesTableView reloadData];
}
但是,當顯示鍵盤並按下Enter鍵時,CodeTextView會被調整到原始高度!當我註釋掉[_linesTableView reloadData]時,一切正常。因此,當我重新加載LinesTableView時,LineTableView和CodeTextView會以某種方式返回原始高度。
我不知道如何解決這個問題。我認爲這並不難,但我不能想出辦法做到這一點。任何人都可以幫助我嗎?
在此先感謝! :)
我已經把這兩個視圖在一個UIView現在,但是當我調整這個視圖,其中的2個視圖,保持相同的大小。我檢查了'autoresize子視圖'和'剪輯子視圖'框。以編程方式調整高度也不起作用。你有什麼想法,爲什麼? – Devos50