Учитывая эту проблему, активатор будет работать, когда есть без параметров ctor. Если это ограничение, рассмотрим использование
System.Runtime.Serialization.FormatterServices.GetSafeUninitializedObject()
Если ваше представление демонстрирует поведение, оно должно находиться в контроллере представления. На контроллере представления метод viewDidAppear будет вызываться каждый раз при появлении представления.
- (void)viewDidAppear:(BOOL)animated
Я не думаю, что существует универсальный способ сделать это для представлений. Похоже, что вы застряли с scrollViewDidEndScrolling и другими методами ScrollViewDelegate. Но я не уверен, почему вы говорите, что это элегантно, они довольно просты.
свойство слоя представления должно сообщать нам, является ли это представление видимым или нет
[view.layer visibleRect];
, но это не работает для меня.
Чтобы решить эту проблему, можно использовать свойство UiScrollView contentOffset, чтобы вычислить, является ли конкретное представление видимым или нет.