2009-01-10 20 views
10

Doğru, metin içinde metin içeren bir etiket almaya çalışıyorum.Ekran boyunca kaydırılabilen, yeniden boyutlandırılabilir UILabel

Etikete girilen metin UITextField ve UIButton tarafından yapılır. Bu güncellemeler iyi.

Ancak UILabel'ı metin girdisi miktarına göre yeniden boyutlandırmaya çalışıyorum, böylece WHOLE metin çokluğu ekranda gezinir. bazen is ekranın ortasında hareket etmeye başlar ve tam acrosss gitti önce bazen kaybolur,

[lblMessage setText: txtEnter.text]; 

CABasicAnimation *scrollText; 

scrollText=[CABasicAnimation animationWithKeyPath:@"position.x"]; 
scrollText.duration = 3.0; 
scrollText.repeatCount = 10000; 
scrollText.autoreverses = NO; 
scrollText.fromValue = [NSNumber numberWithFloat:500]; 
scrollText.toValue = [NSNumber numberWithFloat:-120.0]; 

[[lblMessage layer] addAnimation:scrollText forKey:@"scrollTextKey"]; 

sorundur:

Bu

kaydırma etiket için şu anda ben koddur.

Ayrıca etiketin bir boyutta olması nedeniyle metin keser. Bunu nasıl değiştireceğimi bilmiyorum.

Şimdiden teşekkürler. Dom

cevap

7

Ben the solution for this question benzer bir şey bu durum için çalışma olduğuna inanıyorum.

UISabel'i bir UIScrollView'a gömebilir, UIScrollView bir defada ekranda görüntülemek istediğiniz etiketin maksimum boyutuna ayarlanmış olabilir. UIScrollView, onun kaydırma göstergelerini showHorizontalScrollIndicator ve showVerticalScrollIndicator özelliklerini kullanarak kapatmış olmalıdır. Metnin bir değişiklik üzerinde, aşağıdaki yapabileceği: çerçeve ile, yukarıda bağlantılı Söz açıklandığı gibi çevirme animasyon kodunu takiben

[lblMessage setText: txtEnter.text]; 
[lblMessage sizeToFit]; 
scrollView.contentSize = lblMessage.frame.size; 

UILabel en sağında olmasının panned edilecek. Bu, metnin etiket boyunca sabit bir hızla kaydırılmasına neden olur. Etiketin başa geri kaydırılmasını istiyorsanız, animasyon bloğunuzun başlangıcında UIView setAnimationRepeatAutoreverses: setAnimationRepeatCount: yöntemlerini kullanabilirsiniz.

2

Etiket yeniden boyutlandırma çok teşekkürler!

Şimdi, etiketi kaydırma görünümüne kaydettim ve bunu gösteriyorum .. ama şimdi buna ekleyeceğiniz tam animasyonlardan emin değilim. Bazılarını bana verdiğin bağlantıda denedim, ama çalışmıyorlar.

DÜZENLEME: Nevermind, her şey şimdi çalışıyorum.

CGPointMake (x, x) contentOffset için gerekli olan şeydir.

İlgili konular