NSTextView Прокрутить вниз, только если в данный момент прокручивается вниз? - PullRequest
0 голосов
/ 16 сентября 2018

Я пытаюсь выяснить, как я могу прокрутить вниз и только прокрутить вниз, если позиция прокрутки находится внизу, как XCODE.

Я не могу понять, как я могу получитьтекущая позиция прокрутки NSTextView.

Просто прокрутить до конца, используя:

self.tbLog.scrollToEndOfDocument(nil)

Но это происходит каждый раз, и если вы прокручиваетесь до верха файла журналаи добавляется новая строка, она опускается обратно на дно.Я хочу опуститься вниз, только если позиция прокрутки внизу.

РЕШЕНИЕ :

// Add your text to the NSTextView here... then...
print("Position: \(NSMaxY(self.tbLog.visibleRect) - NSMaxY(self.tbLog.bounds))")
if (NSMaxY(self.tbLog.visibleRect) - NSMaxY(self.tbLog.bounds) == 0.0) { 
     print("we're at the bottom, keep at the bottom.")
     self.tbLog.scrollToEndOfDocument(nil)
} else {
     print("we're scrolled up somewhere... do nothing.")
}
...