В моем приложении у меня есть обзор объектов. Каждый объект представляет собой UIButton, который имеет свой собственный UIImage (button.imageView). Пользователь может перетаскивать объекты вокруг. Таким образом, объекты в верхней части дисплея считаются «сзади», а объекты в нижней части - «спереди». Объекты сзади отображаются меньше, чем объекты спереди. Я хочу, чтобы объекты динамически изменяли размеры при перемещении «впереди» и «назад» и наоборот.
Для этой цели я использую следующий код (в подклассе UIButton):
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
CGFloat h = newHeight;
CGFloat w = newWidth;
CGRect target;
target.size.height = h;
target.size.width = w;
self.frame = target;
}
До iOS 4.2 это работало очень хорошо. Теперь мы видим очень странное поведение: хотя изменение размера работает при перемещении объектов «спереди» назад «назад» (т. Е. От большого к маленькому), оно НЕ работает при перемещении объекта «назад» к «фронту» (т.е. от малого к большому).
Есть идеи, что может вызвать эту проблему? Как бы вы реализовали «изменение размера при движении»?