2

以下に示すように、UIActivityViewをテキスト付きの丸みを帯びた透明なボックスに表示したいと思います。誰かがこれを行う方法を知っていますか?

ps UIAlertViewに入れたくないのですが、他の方法でそれを行う方法がわかりません。

ありがとう!
トリスタン

代替テキスト

4

1 に答える 1

4

もちろん、新しいUIViewサブクラスを作成し、好きなように呼び出します。いくつかのivarを追加します。1つはアクティビティインジケーター用で、もう1つはメッセージ用です(つまり、aUIActivityIndicatorViewとa UILabel)。必要に応じて、それらをプロパティに接続します。とにかく、ラベルにはおそらく良いアイデアです。

また、ビューを表示したり非表示にしたりするなど-show、いくつかのメソッドを定義することもできます。-hideあなたはそれを好きなようにアニメートすることができます、あなたが望むなら、私はここではそれには入りません。

次に実行したいこと(または少なくとも私が行った方法)は、フレームを指定してビューを作成することです。次のように定義しましょう。

UIWindow* keyWindow = [[UIApplication sharedApplication] keyWindow];
CGFloat width = 160;
CGFloat height = 160;
CGRect centeredFrame = CGRectMake(round(keyWindow.bounds.size.width/2 - width/2),
                                  round(keyWindow.bounds.size.height/2 - height/2),
                                  width, height);

これにより、160x160になります。backgroundColor不透明度を50%に調整し、opaqueプロパティもNOに設定されていることを確認します。また、次のようなものが必要になります。

self.layer.cornerRadius = 10;

ここselfで、自然に作成しているビューをポイントします。

それはあなたが始めるのに十分な情報であるはずです、ほとんどの人はそれをアニメートします(私は通常それを本当に大きくします、すなわち160x2 x 160x2、そしてそれを私が望むサイズに急速に縮小し、ポップ効果を与え、それをフェードアウトします完了、そのようなもの)。ただし、これは演習として残しておきます。

于 2010-09-13T06:36:46.620 に答える