Я использую карусель Ник Локвуд и тип - Карусель для колес. Я использую изображения как элементы в карусели. Проблема в том, что когда я поворачиваю карусель, изображение также вращается, то есть рассматривает изображение человека, тогда изображение человека наклонено, чего я не хочу, т. Е. Я не хочу вращать этот конкретный образ при вращении всей карусели. Кто-нибудь может помочь?Не хотите поворачивать изображение в карусели во вращающейся карусели
ответ
Попытка условно поворота изображения в зависимости от ориентации устройства в методе делегата
- (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view;
.
Я не вращающееся устройство, карусель только должен вращаться, но изображения внутри него должны оставаться такими, какие они есть, их место должно только меняться –
Посмотрите на файл iCarousel.m и найдите метод - (CATransform3D)transformForItemView:(UIView *)view withOffset:(CGFloat)offset
; Внутри него вы найдете этот блок:
case iCarouselTypeWheel:
case iCarouselTypeInvertedWheel:
{
NSInteger count = [self valueForTransformOption:iCarouselTranformOptionCount withDefault:
MIN(numberOfVisibleItems, numberOfItems + numberOfPlaceholdersToShow)];
CGFloat arc = [self valueForTransformOption:iCarouselTranformOptionArc withDefault:M_PI * 2.0f];
CGFloat radius = [self valueForTransformOption:iCarouselTranformOptionRadius withDefault:itemWidth * (CGFloat)count/arc];
CGFloat angle = [self valueForTransformOption:iCarouselTranformOptionAngle withDefault:arc/(CGFloat)count];
if (type == iCarouselTypeInvertedWheel)
{
radius = -radius;
angle = -angle;
}
if (vertical)
{
transform = CATransform3DTranslate(transform, -radius, 0.0f, 0.0f);
/* this */ transform = CATransform3DRotate(transform, angle * offset, 0.0f, 0.0f, 1.0f);
return CATransform3DTranslate(transform, radius, 0.0f, offset * 0.01f);
}
else
{
transform = CATransform3DTranslate(transform, 0.0f, radius, 0.0f);
/* this */ transform = CATransform3DRotate(transform, angle * offset, 0.0f, 0.0f, 1.0f);
return CATransform3DTranslate(transform, 0.0f, -radius, offset * 0.01f);
}
}
Try просто закомментировать две строки:
transform = CATransform3DRotate(transform, angle * offset, 0.0f, 0.0f, 1.0f);
и посмотреть, что происходит; Я думаю, что лицо не будет повернуто, но тогда вам может понадобиться отрегулировать перевод ...
Спасибо за ответ, я стараюсь только для этого, но все еще не нашли решения, я пытаюсь и опубликую, если найду его, если кто-нибудь еще найдет это, то, пожалуйста, помогите –
Посмотрите в порядке внедрения - (CATransform3D)transformForItemView:(UIView *)view withOffset:(CGFloat)offset;
Найти case iCarouselTypeWheel:
и case iCarouselTypeInvertedWheel:
блок.
Изменить код, который генерирует конечные преобразования (для обеих вертикальных и горизонтальных случаев) в обратном применяется вращение:
transform = CATransform3DTranslate(transform, 0.0f, radius, 0.0f);
transform = CATransform3DRotate(transform, angle * offset, 0.0f, 0.0f, 1.0f);
// this is the transform the existing code returns...
transform = CATransform3DTranslate(transform, 0.0f, -radius, offset * 0.01f);
// instead you reverse the rotation before returning...
return CATransform3DRotate(transform, -(angle * offset), 0.0f, 0.0f, 1.0f);
Я надеюсь, что помогает.
Используя код из приведенных выше ответов, я не смог исправить эту проблему. Я повторно использовал часть комментариев, но не код. Это сработало для меня.
if (_vertical)
{
transform = CATransform3DTranslate(transform, -radius, 0.0, 0.0);
transform = CATransform3DRotate(transform, angle * offset, 0.0, 0.0, 1.0);
transform = CATransform3DTranslate(transform, radius, 0.0, offset * 0.01);
return CATransform3DRotate(transform, -(angle * offset), 0.0, 0.0, 1.0);
}
else
{
transform = CATransform3DTranslate(transform, 0.0, radius, 0.0);
transform = CATransform3DRotate(transform, angle * offset, 0.0, 0.0, 1.0);
transform = CATransform3DTranslate(transform, 0.0, -radius, offset * 0.01);
return CATransform3DRotate(transform, -(angle * offset), 0.0, 0.0, 1.0);
}
- 1. Самодельное изображение карусели не зацикливание
- 2. Мобильное изображение карусели?
- 3. Как увеличить изображение карусели?
- 4. изображение карусели в большом экране
- 5. Сделайте отзывчивое изображение в карусели
- 6. Как центрировать изображение в карусели
- 7. Изображение не проходит в карусели в yii2
- 8. Flickity не отображает второе изображение в карусели
- 9. Невозможно преобразовать изображение карусели (ui.bootstrap.carousel)
- 10. Как сделать загрузочное изображение карусели?
- 11. jQuery 3D-изображение + кнопка карусели
- 12. остановка карусели во флеше as3
- 13. Фоновое изображение с эффектом карусели
- 14. Принесите изображение перед гладкой карусели
- 15. Bootstrap изображение карусели из рамы
- 16. Событие карусели не работает
- 17. OWL изображение карусели не правильно размер сначала
- 18. Почему изображение карусели не меняется автоматически?
- 19. Вопросы карусели
- 20. Щелкать изображение карусели Bootstrap кажется искаженным
- 21. Как показать изображение по умолчанию в карусели, пока изображение скользит в той же карусели?
- 22. Получить стрелку управления карусели из рамы карусели
- 23. Как разместить подписи под карусели под карусели?
- 24. Элементы управления карусели Bootstrap вне карусели
- 25. Подпись карусели в миниатюре?
- 26. Сова карусели не зацикливается
- 27. Как обрезать большое изображение в карусели бутстрапа
- 28. Bootstrap карусели не двигается
- 29. Как обрезать изображение карусели в twitter bootstrap
- 30. Щелчок через изображение карусели в транспортирнике
Вы хотите сказать, что лицо человека всегда остается вертикальным? – sergio
Да лицо лица должно оставаться вертикальным –