Может кто-нибудь объяснить мне, почему в прошивкойМожно ли изменить свойство, чтобы вызвать метод?
var dx = (touchPoint.x - dragTouch.x) * self.transform.a
var dy = (touchPoint.y - dragTouch.y) * self.transform.d
self.transform.tx = self.transform.tx + dx
self.transform.ty = self.transform.ty + dy
if (self.frame.origin.y > 70){ // lock upper edge during drag
self.frame.origin.y = 70
}
отличается от
var dx = (touchPoint.x - dragTouch.x) * self.transform.a
var dy = (touchPoint.y - dragTouch.y) * self.transform.d
if (self.frame.origin.y > 70){ // lock upper edge during drag
self.frame.origin.y = 70
}
self.transform.tx = self.transform.tx + dx
self.transform.ty = self.transform.ty + dy
кажется, что изменение свойства вызывает метод называть, и, следовательно, перерисовки зрения. Если я использую первое решение, край моего представления заблокирован, иначе, используя вторую часть кода, я получаю другое поведение.
Знаете ли вы, как я могу избежать этой проблемы?
В первом коде преобразование выполняется сначала, а затем устанавливается 'y', а во втором - сначала устанавливается позиция' y', а затем выполняется преобразование. – sasquatch
Да, я знаю это, но мой вопрос немного отличается. Это, на мой взгляд, только назначения статических переменных, которые не влияют на frame.origin. Я не называю методы, и я хотел бы перерисовывать только тогда, когда захочу. – diningphil
Изменение свойства с именем 'myProperty' вызывает вызов метода' setMyProperty: '. –