Эффект выделения в uiimageview iPhone

Как я могу реализовать анимацию эффекта выделения в UIImage.

У меня есть изображение облака (320*480). Мне нужно анимировать его непрерывно слева направо без каких-либо задержек и исчезновений. Ниже приведен образец html.

http://www.quackit.com/html/codes/html_marquee_code.cfm

2-й сверху (непрерывная прокрутка текста :).

Пожалуйста помоги


person Monish Bansal    schedule 27.09.2012    source источник


Ответы (3)


Сделай это:

-(void)marqueeEffect
{
  imgView.frame = CGRectMake(self.view.frame.origin.y,50,320,480); //right frame
  //increase time duration as per requirement
  [UIView animateWithDuration:3.0
                      delay: 0.0
                    options: UIViewAnimationCurveEaseOut
                 animations:^{

                      imgView.frame = CGRectMake(-imgview.frame.size.width,50,320,480); //left frame
                 }
                 completion:^(BOOL finished){
                      [self performSelector:@selector(marqueeEffect)];
                 }];
 }
person Paresh Navadiya    schedule 27.09.2012
comment
Нет, это неправильно. он остановит первое изображение перед вторым. - person Monish Bansal; 27.09.2012

ПОПРОБУЙТЕ ЭТОТ ПРИМЕР, ЕГО ДЛЯ UILABEL:

int x;
@synthesize label;
- (void)viewDidLoad
{
    [super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.

    label=[[UILabel alloc]initWithFrame:CGRectMake(300, 400, 150, 30)];
    label.text=@"WWW.SONGS.PK";
    label.backgroundColor=[UIColor clearColor];
    x=300;

    [NSTimer scheduledTimerWithTimeInterval:.01 target:self selector:@selector(clickme) userInfo:nil repeats:YES];

}

-(void)clickme
{
    x--;
    label.frame=CGRectMake(x, 400, 150, 30);
    if( x==-150)
    {
        x=300;
    }
    [self.view addSubview:label];
}
person Ajay Singh Azad    schedule 27.09.2012
comment
Да, это работает для uilabel. Но когда я использую uiimage. первый цикл в порядке, но второй сначала исчезнет. - person Monish Bansal; 27.09.2012

person    schedule
comment
Нет, это неправильно, первое изображение исчезнет раньше, чем второе. - person Monish Bansal; 27.09.2012
comment
@MonishBansal Просто убедитесь, что источник и место назначения облака находятся за пределами экрана. - person Morrowless; 27.09.2012
comment
как я могу изменить размер? - person Gajendra K Chauhan; 10.08.2013