Я разрабатываю приложение для iPhone, которое перемещает слой UIView между другими слоями UIView на основе акселерометра.
Если самый верхний слой - это слой, который движется на основе акселерометра, нет проблем. Если я добавлю UIView поверх него, движение будет крайне задержано. Если я добавлю второй UIView поверх него, движение остановится.
updateInterval равен 60, и я использую метод drawAtPoint: метод UIView для перемещения слоя.
Мой вопрос: есть ли свойство UIView, такое как opaque, clipsToBounds и т. Д., Которое необходимо включить для точного перемещения на основе акселерометра смещенного UIView?
Заранее благодарим за любую помощь, которую вы можете оказать.
Обновление:
Нижний слой непрозрачный, а слои выше - прозрачные PNG.
У меня проблемы с доступом к свойству фрейма UIView. Вот код из моего Object2D
класса:
- (id)initWithImage:(NSString*)imageName
{
if (self = [super init])
{
position = [[Point2D alloc] init];
vector = [[Vector2D alloc] init];
imagePath = [[NSBundle mainBundle] pathForResource:imageName ofType:@"png"];
myImageObj = [[UIImage alloc] initWithContentsOfFile:imagePath];
size.width = myImageObj.size.width;
size.height = myImageObj.size.height;
}
return self;
}
А вот метод класса * original draw:
, который вызывается из класса ViewController
:
- (void)draw
{
[myImageObj drawAtPoint:CGPointMake( position.X, position.Y ) ];
[ self setNeedsDisplay ];
}
Я пробовал разные способы доступа к свойству фрейма, но безрезультатно:
myImageObj.frame = CGRectMake(position.X, position.Y, size.width, size.height);
myImageObj.CGImage.frame.y = position.Y;
Изучение документации по API показывает, что первый способ будет работать, но это не так.
Знаете ли вы, как получить доступ к свойству фрейма UIView?
Заранее спасибо.