UILabelのフォントサイズ変更のアニメーション化
2023-10-29 10:11:52
質問
現在、カスタムビューコントローラコンテナを使用したアプリケーションを作成しています。複数のビューが一度に画面に表示され、そのうちの1つをタップすると、選択されたビューコントローラがアニメーションでフルスクリーンになります。その際、選択されたビューコントローラーのサブビューも同様に拡大縮小します (フレーム、フォントサイズなど)。ただし、UILabel のフォント プロパティはアニメーション可能ではないため、問題が発生しました。複数の解決策を試しましたが、すべて平たく言えば最悪です。
私が試した解決策は次のとおりです。
- 拡大表示のスクリーンショットを撮り、変化をアニメーション化する (Flipboard が行っている方法に似ている)
- transform プロパティを使用してアニメーション化する
- UIScrollViewをズームアウトさせ、フルスクリーンにしたときにズームインさせる。
- adjustsFontSizeToFitWidthをYESに設定し、アニメーションの前にfontSizeを設定する。
1は今のところ最良の解決策ですが、満足はしていません。
私は、誰かが他の提案を持っているか、[UIView animate...]を使用してスムーズにアニメーションするUILabelの代用品を探しています。
私がUILabelにさせたいと思っていることに似た良い例がここにあります。 http://www.cocoawithlove.com/2010/09/zoomingviewcontroller-to-animate-uiview.html
EDIT: このコードは動作します
// Load View
self.label = [[UILabel alloc] init];
self.label.text = @"TEXT";
self.label.font = [UIFont boldSystemFontOfSize:20.0];
self.label.backgroundColor = [UIColor clearColor];
[self.label sizeToFit];
[self.view addSubview:self.label];
// Animation
self.label.font = [UIFont boldSystemFontOfSize:80.0];
self.label.transform = CGAffineTransformScale(self.label.transform, .25, .25);
[self.label sizeToFit];
[UIView animateWithDuration:1.0 animations:^{
self.label.transform = CGAffineTransformScale(self.label.transform, 4.0, 4.0);
self.label.center = self.view.center;
} completion:^(BOOL finished) {
self.label.font = [UIFont boldSystemFontOfSize:80.0];
self.label.transform = CGAffineTransformScale(self.label.transform, 1.0, 1.0);
[self.label sizeToFit];
}];
どのように解決するのですか?
のサイズとフォントを変更することができます。
UILabel
のフォントを変更する方法の例を示します。
UILabel
のフォントを変更する方法の例を示します。
yourLabel.font = [UIFont boldSystemFontOfSize:35]; // set font size which you want instead of 35
yourLabel.transform = CGAffineTransformScale(yourLabel.transform, 0.35, 0.35);
[UIView animateWithDuration:1.0 animations:^{
yourLabel.transform = CGAffineTransformScale(yourLabel.transform, 5, 5);
}];
関連
-
[解決済み] UILabel 内のテキストを縦に上部に揃える
-
[解決済み] UILabelで複数行のテキストを表示する
-
[解決済み】iOSアプリの名前を変更する方法は?
-
[解決済み】SwiftでUILabelのフォントサイズを変更するにはどうすればいいですか?
-
[解決済み】UILabelのフォントサイズを動的に変更する。
-
[解決済み] UIImageのアスペクト比と幅を維持したリサイズ
-
[解決済み] 空のUITableViewを処理する。フレンドリーなメッセージを表示する
-
[解決済み] position: iPadとiPhoneで固定が効かない。
-
[解決済み] UILabelがラベルサイズに合うようにテキストを自動縮小しない
-
[解決済み] iPhoneシミュレーターの位置情報
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] UILabelのフォントサイズ?
-
[解決済み] UILongPressGestureRecognizerが押し下げ時に2回呼び出される
-
[解決済み] iOSの配布証明書の正しい更新方法
-
[解決済み] xcodeでiOSアプリのアーカイブを生成できない
-
[解決済み] Xcode 4.2 - '...' の宣言は、この関数の外では表示されません 警告
-
[解決済み] レビュー待ちの状態でバイナリを拒否する(バイナリ拒否ボタンが見つからない)
-
[解決済み] iPhoneのSafariで<body>に適用したoverflow:hiddenは機能するのか?
-
[解決済み] iphoneシミュレーターでキーボードを使うにはどうしたらいいですか?
-
[解決済み] アプリを提出する前にitunesのリンクを取得する
-
[解決済み] 現在のメソッド呼び出しのスレッド ID を取得する