我的应用程序的每个屏幕都有一个共同的色调。它不是背景。它是一种填充整个屏幕的模式,它是所有视图的顶部。您可以在同一屏幕内看到图案从一个视图连续流向另一个视图。而且它既不掩盖其他元素也不参与事件处理。
我尝试在我的 ViewController 中使用此代码实现它。
UIColor* texture = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Texture.png"]];
UIView* tintView = [[UIView alloc] initWithFrame:self.view.bounds];
[tintView setBackgroundColor:texture];
[tintView setAlpha:0.5];
[self.view addSubview:tintView];
但它并没有触及它背后的观点。
tintView
不应参与任何事件处理。相反,它应该让其背后的其他元素像平常一样处理事件。
其他方法是将其设置为view
UIViewController 属性的背景,并为所有其他子视图设置一个公共 alphaview
以显示背后的模式。在大多数情况下,这将是多余的。
有更好的方法吗?