2014-02-20 24 views
2

在iOS應用程序中從下往上移動字幕樣式的字幕樣式。我已經嘗試了很長一段時間使用谷歌搜索,但我不能得到完美的答案這個問題,請提供任何代碼爲這個問題。我是一個新的iOS應用程序。從下往上移動文字,如使用textView的iOS應用程序中的字幕樣式

+0

檢查我對這個問題的答案你剛剛有隻TIMEDURATION完成動畫1時則設置重複 –

+0

後哇.. !!你很聰明。 – Optimistic

回答

1

試試這個

#import "ViewController.h" 

@interface ViewController() 

@end 

@implementation ViewController 

NSTimer *timer; 
UILabel *label ; 

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 
    } 
    return self; 
} 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    timer =[NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(scrollText:) userInfo:nil repeats:YES]; 
    label = [[UILabel alloc] initWithFrame:CGRectMake(20, 50, 250, 20)]; 

    label.text [email protected]"This is a string to be scroll"; 
    [self.view addSubview:label]; 

} 

-(void)scrollText:(id)parameter{ 
    if (label.frame.origin.y <= 50) { 
     [label setFrame:CGRectMake(label.frame.origin.x, 400, label.frame.size.width, label.frame.size.height)]; 
    } 
    else 
    [label setFrame:CGRectMake(label.frame.origin.x, label.frame.origin.y-5, label.frame.size.width, label.frame.size.height)]; 
} 

@end 
+0

感謝您的回答了我的工作..... – user3331020

+0

我有一個疑問......文字不能完全滾動到頂部.... – user3331020

+0

讓您的標籤y位置爲0 [的UILabel頁頭] initWithFrame:方法CGRectMake(20 ,0,250,20)];並在scrollText:方法if(label.frame.origin.y <= 0){[label setFrame:CGRectMake(label.frame.origin.x,self.view.frame.size.height - 20,label.frame.size .WIDTH,label.frame.size.height)];} – Rajesh

0

您可以在下面的鏈接中找到相同的實現。這對於COCOA CONTROL來說非常棒。

COCOA CONTROLS

1

檢查這個答案。

.H

NSTimer *timer; 

float timeDuration; 

.M

-(void)viewDidLoad { 

[super viewDidLoad]; 
timeDuration=1.0f; 
timer = [NSTimer scheduledTimerWithTimeInterval:timeDuration target:self selector:@selector(marqueeAnimation) userInfo:nil repeats:YES]; 
} 

-(void)marqueeAnimation{ 

UIImageView *imgView=[[UIImageView alloc]initWithFrame:CGRectMake(100, -100, 100, 100)]; 
[imgView setImage:[UIImage imageNamed:@"root.PNG"]]; 
[self.view addSubview:imgView]; 

NSString *keyPath = @"transform.translation.y"; 

CAKeyframeAnimation *translation = [CAKeyframeAnimation animationWithKeyPath:keyPath]; 

translation.duration = timeDuration; 
translation.autoreverses = NO; 
NSMutableArray *values = [[NSMutableArray alloc] init]; 
[values addObject:[NSNumber numberWithFloat:0.0f]]; 
CGFloat height = [[UIScreen mainScreen] applicationFrame].size.height; 
[values addObject:[NSNumber numberWithFloat:height]]; 
translation.values = values; 

NSMutableArray *timingFunctions = [[NSMutableArray alloc] init]; 
[timingFunctions addObject:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear]]; 
translation.timingFunctions = timingFunctions; 

[imgView.layer addAnimation:translation forKey:keyPath]; 

} 
+0

感謝您的重播.... – user3331020

+1

哇.. !!你很聰明。 – Optimistic

0

試試這個。這工作。在示例應用程序中嘗試此操作,然後將其包含在您的應用程序中

#import "ViewController.h" 

@interface ViewController() 
@property(nonatomic, retain) NSTimer *timer; 
@end 

@implementation ViewController 
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
    [_txtView setText:@"hi..."]; 
    _timer = [NSTimer scheduledTimerWithTimeInterval:0.01f target:self selector:@selector(marqueeScroll) userInfo:nil repeats:YES]; 
} 

-(void) marqueeScroll 
{ 
    [_txtView setFrame:CGRectMake(_txtView.frame.origin.x, _txtView.frame.origin.y-1.0, _txtView.frame.size.width, _txtView.frame.size.height)]; 
    CGRect screen = [[UIScreen mainScreen] bounds]; 

    if(_txtView.frame.origin.y <= 0) 
    { 
     [_txtView setFrame:CGRectMake(_txtView.frame.origin.x, screen.size.height,_txtView.frame.size.width, _txtView.frame.size.height)] ; 
    } 
} 

- (void)didReceiveMemoryWarning 
{ 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 

@end 

讓我知道是否有任何錯誤。

+0

它不適合我...... – user3331020

+0

你在示例項目中嘗試過嗎?它給了什麼錯誤?讓我知道 – z22

+0

文字不會顯示..... – user3331020

相關問題