//文本標籤動畫
UILabel *marLabel = [[UILabel alloc] initWithFrame:CGRectMake(320, 100, 0, 0)];spa
marLabel.text = @"人生若只如初見,何事秋風悲畫扇。等閒變卻故人心,卻道故人心易變。驪山語罷清宵半,淚雨霖鈴終不怨。何如薄倖錦衣郎,比翼連枝當日願。";3d
[marLabel sizeToFit]; //size根據文字自適應代理
[self.view addSubview:marLabel];
日誌
//動畫方法的詳細說明請參考日誌《UIView(UIViewAnimation)動畫》ip
/**animation
*開始動畫it
*參數animationID,動畫內部應用程序標識用來傳遞給動畫代理消息。io
*參數context,附加的應用程序信息用來傳遞給動畫代理消息。cli
*/
[UIView beginAnimations:@"Marquee" context:NULL];
[UIView setAnimationDuration:20.0f]; //設置動畫持續時間
[UIView setAnimationCurve:UIViewAnimationCurveLinear]; //設置動畫變化曲線
[UIView setAnimationRepeatAutoreverses:NO]; //設置動畫是否從當前狀態開始播放
[UIView setAnimationRepeatCount:10000]; //設置動畫重複次數
//設置須要動畫的label的frame
CGRect frame = marLabel.frame;
frame.origin.x = -frame.size.width;
marLabel.frame = frame;
//結束動畫
[UIView commitAnimations];
注意:
以上代碼是相對於屏幕的320寬度實現的,可是實際使用的時候,可能只須要屏幕中間200的寬度,應該怎麼作?
給label建立一個背景view,將label添加到這個view上,這樣label實際的frame就會被這個view所遮擋,這裏須要設置一個屬性bgView.clipsToBounds = YES;這個屬性意思是子視圖超出父視圖的部分不顯示。