2012-02-29 5 views
1

iOSでビューを作成して、データが読み込まれていることをユーザーに伝えようとしています...中央に200x200の丸い角のボックスがあり、 「データ読み込み中...」と透明な背景が表示されます。ios「透明な背景のあるデータの読み込み」通知

私の200x200の丸い角のボックスも透明であることを除いて、これはすべて機能しています。

UIView *loadingDataView = [[UIView alloc] initWithFrame:CGRectMake(0, 44, 320, 367)]; 
loadingDataView.alpha = 0.4; 
loadingDataView.backgroundColor = [UIColor clearColor]; 
UIView *viewWithSpinner = [[UIView alloc] initWithFrame:CGRectMake(110, 106, 100, 100)]; 
[viewWithSpinner.layer setCornerRadius:15.0f]; 
viewWithSpinner.backgroundColor = [UIColor blackColor]; 
UILabel *msg = [[UILabel alloc] initWithFrame:CGRectMake(5, 75, 90, 20)]; 
UIActivityIndicatorView *spinner = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(5, 5, 90, 70)]; 
spinner.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhite; 
[spinner startAnimating]; 
msg.text = @"Data Loading"; 
msg.font = [UIFont systemFontOfSize:14]; 
msg.textAlignment = UITextAlignmentCenter; 
msg.textColor = [UIColor whiteColor]; 
msg.backgroundColor = [UIColor clearColor]; 
viewWithSpinner.opaque = NO; 
viewWithSpinner.backgroundColor = [UIColor blackColor]; 
[viewWithSpinner addSubview:spinner]; 
[viewWithSpinner addSubview:msg]; 
[loadingDataView addSubview:viewWithSpinner]; 
[self.view addSubview:loadingDataView]; 

ありがとう:ここ

私が使用していたコードです。

答えて

3

あなたの問題の解決策あなたはそれがあなたのビューがclearColorに設定されている場合、これは本当に色ではありません(透明あなたのラウンドビューを回しているものですが、0.4のアルファ属性を削除しなければならないことである、それだけでビューを作ります透明)では、0.4のアルファを追加する意味がありません。何がしたいことは、あなたの黒い丸いビューを囲む半透明図であるならば、次の操作を行う必要があります:あなたが動作するはずですちょっと灰色がかったwhiteish、何かを与える

[loadingDataView setBackgroundColor:[UIColor colorWithRed:1 green:1 blue:1 andAlpha:0.4]]; 

しかし、私はあなたが私のGitHub上のソースとサンプルアプリを取得することができ、私が開発しGIDAAlertViewクラスを使用するためにあなたをお勧めします:

それが作業を取得するのに約3行を取ります

GIDAAlertView *spinnerAlert=[[GIDAAlertView alloc] initAlertWithSpinnerAndMessage:@"GIDAAlertView Spinner"]; 

//Show it ... 
[spinnerAlert presentAlertWithSpinner]; 

//Later in your code, hide it 
[spinnerAlert hideAlertWithSpinner]; 

これはどのように見えるかlikeです。

+0

clearColor/alphaの説明をありがとう –

6

あなたの質問に正確に答えはありませんが、オープンソースMBProgressHUDをチェックしてください。それは、プライベートUIProgressHUDクラスのオープンソースの交換を目指しており、まさにあなたがしようとしているものです。

+0

Btw ...私はこれを使いました。私はそれを愛しています! –

0
あなたは明確にすることを指示してい

...

loadingDataView.backgroundColor = [UIColor clearColor]; 

は、あなたはそれが黒に何をしたいですか?

+0

バックグラウンド(200x200周りのすべてが半透明)(.3のアルファ)... –