Я строю книгу с картинками для iPad с CoreAnimation. Я сделал что-то вроде класса Sprite (подкласс CALayer), чтобы иметь возможность загружать мои анимационные кадры из листа спрайтов. Что-то похожее здесь: http://mysterycoconut.com/blog/2011/01/cag1/. Я не использую делегат слоя, чтобы установить границы и contentRect (и в моем случае, также позицию), но я делаю это непосредственно в методе -display подкласса CALayer.CALayer -display метод не называется
Я создал манекен, и он отлично работал. Когда я переместил код в свой проект, метод -display моего подкласса больше не вызван. Я читал документацию по CALayer и CoreAnimation Programming Guide много раз, и я не могу найти никакой информации о том, когда вызывается метод -display. Я знаю только, что он использует шаблон шаблона, это значит, что я не должен называть его сам, но вместо этого должен вызываться [layer setNeedsDisplay], который вызывает сам метод -display. Я тоже старался сделать это, но безуспешно.
Если вам нужно увидеть код, сообщите мне.
Любые идеи?
UPDATE
Я нашел причину, почему метод не вызывается. Это так неловко, что не стоит упоминать: 0. В любом случае, мне все равно будет интересно узнать, когда именно вызывается метод -display. Я заметил, что мне нужно создать анимацию, чтобы она срабатывала. Если бы я добавил слой в иерархию отображения с помощью [layer addSublayer: myCustomLayer], метод не вызывался.
Не беспокойтесь о смущении - если у вас возникла проблема, кто-то еще в конце концов тоже, и вы отправляете ответ, это поможет им. – jrturton
Ну, решение моей проблемы не имело ничего общего с моей оригинальной проблемой, поэтому я подумал, что это никому не будет интересно. В любом случае, я отправлю ответ с моей глупой ошибкой. – strave