2015-11-04 4 views
0

В моем приложении у меня есть фиксированный размер кнопки/центральных точек, и я хочу повернуть линию стрелок, и это прикрепленное изображение также вращается, когда я касаюсь/прокручиваю вверх/вниз , И я сделал демо в этом прокрутке только с помощью классов icarousel. , но я не могу прокручивать и стрелку, и прокрутку изображения одновременно. Пожалуйста, помогите мне, как это реализовать. enter image description hereКак повернуть изображение и линию стрелок из фиксированной центральной точки

и мой код для прокрутки только изображения, используя icarousel здесь ..

- (UIView *)carousel:(__unused iCarousel *)carousel viewForItemAtIndex: (NSInteger)index reusingView:(UIView *)view 
{ 
UIView *viewFor; 
UIImageView *itemView; 
if (view==nil) { 

    viewFor=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 200, 200)]; 
    itemView=[[UIImageView alloc]initWithFrame:CGRectMake(0, 45, 120, 120)]; 
    [itemView.layer setCornerRadius:itemView.frame.size.width/2]; 
    [itemView setClipsToBounds:YES]; 
    [viewFor addSubview:itemView]; 

     StikImage=[[UIImageView alloc]initWithFrame:CGRectMake(-140, 95, 140, 20)]; 
    StikImage.backgroundColor=[UIColor whiteColor]; 
    [viewFor addSubview:StikImage]; 

    } 
    else 
    { 
    viewFor=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 200, 200)]; 
    itemView=[[UIImageView alloc]initWithFrame:CGRectMake(0, 45, 120, 120)]; 
    [itemView.layer setCornerRadius:itemView.frame.size.width/2]; 
    [itemView setClipsToBounds:YES]; 
    [viewFor addSubview:itemView]; 

     StikImage=[[UIImageView alloc]initWithFrame:CGRectMake(-140, 95, 140, 20)]; 
     StikImage.backgroundColor=[UIColor whiteColor]; 
     [viewFor addSubview:StikImage]; 

    } 
    itemView.image=[images objectAtIndex:index]; 
return viewFor; 
} 

А вот мой Пользовательский тип метод icrousel для преобразования изображений

- (CATransform3D)carousel:(iCarousel *)carousel itemTransformForOffset:(CGFloat)offset baseTransform:(CATransform3D)transform { 

const CGFloat centerItemZoom = 1.6; 
const CGFloat centerItemSpacing = 1.2; 
const CGFloat centerItemYOffset = 100; 
CGFloat spacing = [self carousel:carousel valueForOption:iCarouselOptionSpacing withDefault:1.3f]; 
CGFloat absClampedOffset = MIN(2.5, fabs(offset)); 
CGFloat clampedOffset = MIN(1.0, MAX(-1.0, offset)); 
CGFloat scaleFactor = 1.0 + absClampedOffset * (1.2/centerItemZoom - 1.0); 
CGFloat yoffset = (1.0f - absClampedOffset) * centerItemYOffset; 
offset = (scaleFactor * offset + scaleFactor * (centerItemSpacing - 1.0) * clampedOffset) * carousel.itemWidth * spacing; 



if (carousel.vertical) 
{ 
    transform = CATransform3DTranslate(transform, yoffset, offset, -absClampedOffset); 

} 
else 
{ 
    transform = CATransform3DTranslate(transform, offset, yoffset, -absClampedOffset); 
} 

transform = CATransform3DScale(transform, scaleFactor, scaleFactor, 5.0f); 
    return transform; 
} 

ответ

0

Используйте ниже код для поворота на изображение изображения

imageview.transform = CGAffineTransformMakeRotation(degrees * M_PI/180); 

вы можете использовать то, что вы хотите, размеры градусов, такие как 180, 90, 240, 270 ..., зависит от ваших требований «touch/scroll up/down»

+0

Во-первых Спасибо за ответ @iSara, но как я могу установить y смещение и градусы для прокрутки вверх/вниз стрелки/линии по отношению к изображениям. – RAMA

+0

@RAMA: Можете ли вы использовать вышеуказанный код с помощью методов делегатов scrollview. – iSara

+0

..i не может ... im используется iCarousel view для достижения этого типа в моем коде, идеально подходит только для изображений, но теперь я хочу добавить эти стрелки/линии, прикрепленные изображениями. Эти стрелки также вращаются во времени с изображениями на одном и том же угол, как я могу достичь этого ..пожалуйста, помогите мне .. – RAMA