私は、テーブルビューを読み込んでいるときにアニメーションスピナーを表示しようとしています。ビューの中心にビューの中心を設定する
loadingView = [[UIView alloc] initWithFrame:CGRectMake(75, 155, 170, 170)];
loadingView.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.5];
loadingView.clipsToBounds = YES;
loadingView.layer.cornerRadius = 10.0;
activityView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
activityView.frame = CGRectMake(65, 40, activityView.bounds.size.width, activityView.bounds.size.height);
[loadingView addSubview:activityView];
loadingLabel = [[UILabel alloc] initWithFrame:CGRectMake(20, 115, 130, 22)];
loadingLabel.backgroundColor = [UIColor clearColor];
loadingLabel.textColor = [UIColor whiteColor];
loadingLabel.adjustsFontSizeToFitWidth = YES;
loadingLabel.textAlignment = NSTextAlignmentCenter;
loadingLabel.text = @"Loading...";
[loadingView addSubview:loadingLabel];
[self.view addSubview:loadingView];
[activityView startAnimating];
loadingView
には埋め込まれています。 私が直面している問題は次のとおりです。
- ロードビューはビューコントローラの中央にありません。
- ローディングビューをビューコントローラの中央に配置しようとしていますが、
UIActivityIndicatorView
はローディングビューの中心になければなりませんが、期待通りのものになっていません。
なぜCGRect値をハードコーディングしていますか?大半は各ビューの親ビューのサイズに基づいて計算する必要があります。 – rmaddy