GLKViewController
Наследование
-
NSObject
-
UIResponder
-
UIViewController
-
GLKViewController
-
NSObject
-
UIResponder
-
UIViewController
-
GLKViewController
Соответствует
Оператор импорта
Swift
import GLKit
Objective C
@import GLKit;
Доступность
Доступный в iOS 5.0 и позже.
GLKViewController
класс обеспечивает всю стандартную функциональность контроллера представления, но дополнительно реализует OpenGL цикл рендеринга ES. A GLKViewController
возразите работам в сочетании с a GLKView
возразите для отображения кадров анимации в представлении.
Для использования этого класса выделите и инициализируйте новое GLKViewController
подкласс и набор view
свойство для указания на a GLKView
объект. Затем сконфигурируйте контроллер представления preferredFramesPerSecond
свойство к уровню нужного кадра Ваше приложение требует. Можно установить делегата или сконфигурировать другие свойства на контроллере представления, такой как, приостанавливается ли цикл анимации автоматически или возобновляется, когда приложение перемещается в фон.
Когда активный, представление цикла автоматически обновляет содержание представления каждый раз, когда новый кадр должен быть выведен на экран. Каждый кадр представляется контроллером представления с помощью этих шагов:
Контроллер представления вызывает своего делегата
glkViewControllerUpdate:
метод. Ваш делегат должен обновить данные кадра, не включающие рендеринг результатов на экран.Контроллер представления вызывает свое представление
display
метод. Ваше представление должно перерисовать кадр.
Разделение на подклассы примечаний
Ваше приложение должно разделить на подклассы GLKViewController
и переопределение viewDidLoad
и viewDidUnload
методы. Ваш viewDidLoad
метод должен установить Ваш контекст и любые drawable свойства и может выполнить другое распределение ресурсов и инициализацию. Точно так же Ваш класс viewDidUnload
метод должен удалить drawable объект и свободный любые ненужные ресурсы.
Как альтернатива реализации a glkViewControllerUpdate:
метод в делегате, Ваш подкласс может обеспечить метод обновления вместо этого. Метод должен иметь следующую подпись:
- (void)update;
-
preferredFramesPerSecond
СвойствоУровень Вы хотите, чтобы контроллер представления вызвал представление для обновления содержания представления.
Объявление
Swift
var preferredFramesPerSecond: Int
Objective C
@property(nonatomic) NSInteger preferredFramesPerSecond
Обсуждение
Когда Ваше приложение устанавливает свою предпочтительную частоту кадров, контроллер представления выбирает частоту кадров максимально близко к тому на основе возможностей экрана, на котором выведено на экран представление. Выбранная реальная частота кадров обычно является фактором максимальной частоты обновления экрана для обеспечения непротиворечивой частоты кадров. Например, если максимальная частота обновления экрана
60
кадры в секунду, который является также самой высокой частотой кадров наборы контроллера представления как реальная частота кадров. Однако, если Вы просите более низкую частоту кадров, она могла бы выбрать30
,20
,15
или некоторый другой фактор, чтобы быть реальной частотой кадров.Ваше приложение должно выбрать частоту кадров, которую оно может последовательно поддерживать.
Значение по умолчанию
30
кадры в секунду.Оператор импорта
Objective C
@import GLKit;
Swift
import GLKit
Доступность
Доступный в iOS 5.0 и позже.
См. также
-
framesPerSecond
СвойствоФактическая ставка, что контроллер представления пытается вызвать представление для обновления его содержания. (только для чтения)
Объявление
Swift
var framesPerSecond: Int { get }
Objective C
@property(nonatomic, readonly) NSInteger framesPerSecond
Обсуждение
Контроллер представления пытается поддержать эту частоту кадров, но это может все еще отбросить кадры, если обработка на кадр, выполняемая Вашим приложением, занимает больше времени, чем время между кадрами.
Оператор импорта
Objective C
@import GLKit;
Swift
import GLKit
Доступность
Доступный в iOS 5.0 и позже.
См. также
-
delegate
СвойствоДелегат контроллера представления.
Объявление
Swift
@IBOutlet unowned(unsafe) var delegate: GLKViewControllerDelegate!
Objective C
@property(nonatomic, assign) IBOutlet id<GLKViewControllerDelegate> delegate
Обсуждение
Делегат является дополнительным.
Оператор импорта
Objective C
@import GLKit;
Swift
import GLKit
Доступность
Доступный в iOS 5.0 и позже.
-
paused
СвойствоБулево значение, указывающее, приостанавливается ли цикл рендеринга.
Объявление
Swift
var paused: Bool
Objective C
@property(nonatomic, getter=isPaused) BOOL paused
Оператор импорта
Objective C
@import GLKit;
Swift
import GLKit
Доступность
Доступный в iOS 5.0 и позже.
-
pauseOnWillResignActive
СвойствоБулево значение, указывающее, приостанавливает ли контроллер представления автоматически цикл рендеринга, когда приложение оставляет активное состояние.
Объявление
Swift
var pauseOnWillResignActive: Bool
Objective C
@property(nonatomic) BOOL pauseOnWillResignActive
Обсуждение
Значение по умолчанию
YES
true
. Если Ваше приложение устанавливает это вNO
false
, это должно явно установитьpaused
свойство кYES
true
когда приложение оставляет активное состояние.Оператор импорта
Objective C
@import GLKit;
Swift
import GLKit
Доступность
Доступный в iOS 5.0 и позже.
-
resumeOnDidBecomeActive
СвойствоБулево значение, указывающее, возобновляет ли контроллер представления автоматически цикл рендеринга, когда приложение становится активным.
Объявление
Swift
var resumeOnDidBecomeActive: Bool
Objective C
@property(nonatomic) BOOL resumeOnDidBecomeActive
Обсуждение
Значение по умолчанию
YES
true
. Если Ваше приложение устанавливает это вNO
false
, это должно явно установитьpaused
свойство кNO
false
когда приложение становится активным.Оператор импорта
Objective C
@import GLKit;
Swift
import GLKit
Доступность
Доступный в iOS 5.0 и позже.
-
framesDisplayed
СвойствоЧисло обновлений кадра, отправленных контроллером представления, так как это создавалось. (только для чтения)
Объявление
Swift
var framesDisplayed: Int { get }
Objective C
@property(nonatomic, readonly) NSInteger framesDisplayed
Оператор импорта
Objective C
@import GLKit;
Swift
import GLKit
Доступность
Доступный в iOS 5.0 и позже.
-
timeSinceFirstResume
СвойствоКоличество времени, передавшее с первого раза контроллер представления, продолжило отправлять события обновления. (только для чтения)
Объявление
Swift
var timeSinceFirstResume: NSTimeInterval { get }
Objective C
@property(nonatomic, readonly) NSTimeInterval timeSinceFirstResume
Оператор импорта
Objective C
@import GLKit;
Swift
import GLKit
Доступность
Доступный в iOS 5.0 и позже.
-
timeSinceLastResume
СвойствоКоличество времени, передавшее с прошлого раза контроллер представления, продолжило отправлять события обновления. (только для чтения)
Объявление
Swift
var timeSinceLastResume: NSTimeInterval { get }
Objective C
@property(nonatomic, readonly) NSTimeInterval timeSinceLastResume
Оператор импорта
Objective C
@import GLKit;
Swift
import GLKit
Доступность
Доступный в iOS 5.0 и позже.
-
timeSinceLastUpdate
СвойствоКоличество времени, передавшее с прошлого раза контроллер представления, вызвало делегата
glkViewControllerUpdate:
метод. (только для чтения)Объявление
Swift
var timeSinceLastUpdate: NSTimeInterval { get }
Objective C
@property(nonatomic, readonly) NSTimeInterval timeSinceLastUpdate
Оператор импорта
Objective C
@import GLKit;
Swift
import GLKit
Доступность
Доступный в iOS 5.0 и позже.
-
timeSinceLastDraw
СвойствоКоличество времени, передавшее с прошлого раза контроллер представления, вызвало представление
display
метод. (только для чтения)Объявление
Swift
var timeSinceLastDraw: NSTimeInterval { get }
Objective C
@property(nonatomic, readonly) NSTimeInterval timeSinceLastDraw
Оператор импорта
Objective C
@import GLKit;
Swift
import GLKit
Доступность
Доступный в iOS 5.0 и позже.