2012-01-13 6 views
1

私はUIButtonのテキストがサーバーから来ています。ボタンの幅は固定されています。私がしたいのは、ボタンのテキストがボタンの幅を超えている場合、そのテキストはボタン内のマーキーでなければならないということです。テキストがボタン幅内に収まる場合は、マーキーエフェクトはありません。UButtonのテキストを囲む

私はいくつかのリンク(onetwo)をたどっていますが、私はまだ問題を抱えています。最初のリンクを実装しようとしましたが、成功しませんでした。テキストは動いていません。

UIViewの中のボタンを取る必要があるか、またはボタン内でテキストの移動が起こる可能性がありますか?

+0

最初のリンクで試したことを私たちに見せることができますか?コードは動作するように見えます。 – sosborn

答えて

0

あなたはこの仕事のためにwebviewを使うことができます。以下のようにHTMLをロードしてください。チェックテキストの条件を多かれ少なかれ使用できます。このハイパーリンクテキストをクリックすると、Webviewデリゲートがそれを認識します。

+0

マーキーのUIWebviewの読み込みは少し重いですね。それはおそらく(それを試していない)動作しますが、それはリソースの悪用のように思えます。 – sosborn

+0

これは簡単で、別の配列にデータを保持する必要はありません。データを取得し、HTMLを生成してロードするだけです。そして、デリゲートは、href urlで触れられた要素を提供します。 – vishy

+0

easy!=特に、モバイルプラットフォームでのリソース使用を考慮してください。はい、それはおそらく動作しますが、それがそれを行う最良の方法であるとは限りません。 – sosborn

0

私は同じ問題を抱えていますが、私の場合は2リンクと2番目の作業を確認しています。 私は自分のコードを投稿しています。

messageView = [[UIView alloc] initWithFrame:CGRectMake(20, 680, 635, 19)]; 
[messageView setClipsToBounds:YES]; 
[backgroundImageView addSubview:messageView]; 
lblTime = [[UILabel alloc] initWithFrame:CGRectMake(900, 680, 635, 19)];// your starting animation point 
[lblTime setBackgroundColor:[UIColor clearColor]]; 
lblTime.textColor=[UIColor whiteColor]; 
[lblTime setFont:[UIFont boldSystemFontOfSize:15]]; 
[backgroundImageView addSubview:lblTime]; 
[self sendNotification:@"your message"]; // call the method 


- (void)sendNotification:(NSString*)txt{ 
[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:8.5]; 
[UIView setAnimationTransition:UIViewAnimationTransitionNone forView:messageView cache:YES]; 
[lblTime setText:txt]; 
[lblTime setTextAlignment:UITextAlignmentLeft]; 
lblTime.frame = CGRectMake(20, 680, 650, 19); // end point of animation 
[UIView commitAnimations]; 
} 
関連する問題