#xcode #cocoa #drawing #nstableview #nssplitview
#xcode #какао #рисование #nstableview #nssplitview
Вопрос:
У меня есть NSTableView, встроенный в NSSplitView. Таблица отобразится, но когда это произойдет, первые три или около того строки не будут видны, пока я не изменю окно и / или разделенное представление. Затем он встанет на место и будет работать нормально, пока я не уйду.
Это когда-нибудь случалось с кем-нибудь? Есть ли простой метод, который я могу вызвать для представления или таблицы, чтобы заставить его перерисовать?
Так оно отображается при первой загрузке представления (примечание: пользователь может прокрутить таблицу вверх и увидеть выделенную верхнюю строку, но никогда не добраться до нее)
после изменения размера окна представление таблицы внезапно встает на место и отображается так, как должно:
Ответ №1:
Вы могли бы попробовать [_yourSplitView display]
принудительно перерисовать NSSplitView. Если я правильно помню, SplitView перерисует все свои подвиды.
Попробуйте поэкспериментировать с тем, где вы это используете, так как результат может варьироваться в зависимости от того, где в порядке инициализации вы это вызываете.
Комментарии:
1. Спасибо за предложение. В итоге это не сработало, но это была отличная идея.
Ответ №2:
Я действительно заставил это работать, вызвав subview, а затем просто сбросив положение разделителя splitview.
NSView *v = [vc view];
[self.superDisplayView addSubview:v];
[self.SourceListSplitView setPosition:250 ofDividerAtIndex:0];