Tôi nhận được kết quả tốt bằng phương pháp bạn đã thử. có lẽ không quan trọng với alpha là một ý tưởng tốt?
mask = [[UIView alloc] initWithFrame:window.frame];
[mask setBackgroundColor:[UIColor colorWithWhite:0.0 alpha:0.78]];
[self.view addSubview:mask];
Rồi sau đó trong mã của bạn, bạn có thể loại bỏ nó:
[mask removeFromSuperview];
or
[mask setHidden:YES];
Nếu bạn muốn làm cho nó thậm chí còn tốt hơn, tôi giả sử bạn có thể thử sử dụng một gradient, hoặc lập trình, hoặc như là một hình ảnh, và sử dụng điều này để làm tối các cạnh của màn hình sao cho nội dung bạn đang hiển thị hàng đầu dường như là nguồn sáng.
Đó chính xác là cách tôi đã làm, với alpha –
Câu trả lời của bạn đều tốt nhưng trong trường hợp này, tất cả các bản xem phụ khác sẽ không còn tương tác nữa. –