最近尋ねたこの質問に加えて、テーブルビューの前に説明ビューを正常に表示することができましたが、テーブルビューが最初にロードされたときにテーブルビューの区切り線が説明ビューの下に一時的に表示されるという問題があります。これは、説明ビューの背景色を設定し、不透明に設定して前面に表示しているにもかかわらずです。それはほんの短い閃光ですが、目立ち、気が散ります。
これが私のコードです(ビューコントローラーのメソッドで設定し_explanationView
たUIView
インスタンス変数です):nil
dealloc
- (void)viewDidLoad
{
[super viewDidLoad];
self.tableView.separatorColor = [UIColor darkGrayColor];
CGRect frame = CGRectMake(50.0f, 120.0f, 220.0f, 155.0f);
_explanationView = [[UIView alloc] initWithFrame:frame];
_explanationView.userInteractionEnabled = NO;
_explanationView.backgroundColor = [UIColor whiteColor];
_explanationView.opaque = YES;
_explanationView.layer.borderColor = [UIColor darkGrayColor].CGColor;
_explanationView.layer.borderWidth = 1.0f;
_explanationView.layer.cornerRadius = 10.0f;
_explanationView.layer.masksToBounds = YES;
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(20.0f, 0.0f, 180.0f, 145.0f)];
label.backgroundColor = [UIColor whiteColor];
label.textColor = [UIColor darkGrayColor];
label.numberOfLines = 0;
label.lineBreakMode = UILineBreakModeWordWrap;
label.font = [UIFont systemFontOfSize:14.0f];
label.text = @"Explanation of this screen...";
[_explanationView addSubview:label];
[self.tableView addSubview:_explanationView];
}
メソッドで説明ビューを前面に移動する必要があることがわかりましたviewDidAppear:
。そうしないと、テーブルビューの区切り線が下に永久に表示されます。
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[self.tableView bringSubviewToFront:_explanationView];
}
テーブルビューの区切り線がカスタム ビューの下に一時的に表示されないようにするにはどうすればよいですか?