我有一个带有2个主要子视图的UIViewController。一个子视图是UIViewController,另一个是DialogViewController。 DialogViewController包含一些元素。我有一个自定义背景,我想在DVC后面分配,所以当用户向上或向下滚动时,会显示背景,直到他们释放手指或鼠标并且视图反弹回原始位置。
问题是,当我使用我通过搜索找到的方法分配背景时,元素显得清晰,并在视图加载时通过它们显示背景。但是,当我滚动到足以在弹回之前将元素推离屏幕时,元素的背景会变回白色。我希望我的元素始终是白色的,只有背景作为我的自定义图像。
我用来尝试实现此目的的代码如下:
// Declare my background
UIImage background = UIImage.FromBundle("images/background.png");
// Assign background pattern to dvc's ParentViewController -- which is my NavigationController (Not sure if this is what it should be)
dvc.TableView.BackgroundColor = UIColor.Clear;
dvc.ParentViewController.View.BackgroundColor = UIColor.FromPatternImage(background);
我也尝试过分配给dvc.TableView.BackgroundView而没有运气。
任何提示都会非常感激。
答案 0 :(得分:0)
也许这有效:
UIView background = new UIView(dvc.TableView.Bounds);
background.BackgroundColor = UIColor.Green;
dvc.TableView.BackgroundView = background;
如果你在dvc中有很多其他“根”你必须继承UINavigationControllerDelegate 并覆盖“WillShowViewController”。只需将代码放入此方法即可。