我正在构建一款iPhone应用程序,没有使用Interface Builder。我已经按以下方式设置了分组的UITableView的背景:
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"groupedBackground.png"]];
我正在尝试修复此背景图像,以使其不随着表单单元格滚动。有人知道如何做到这一点吗?
我正在构建一款iPhone应用程序,没有使用Interface Builder。我已经按以下方式设置了分组的UITableView的背景:
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"groupedBackground.png"]];
我正在尝试修复此背景图像,以使其不随着表单单元格滚动。有人知道如何做到这一点吗?
我们发现,如果您不使用backgroundColor,而是像下面这样分配给backgroundView,它会正好按照您的要求工作:
self.tableView.backgroundView = [[UIImageView alloc] initWithImage:
[UIImage imageNamed:@"background.png"]];
您可以通过使用图案图像来实现固定背景,具体如下:
UIView *patternView = [[UIView alloc] initWithFrame:tableView.frame];
patternView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"groupedBackground.png"]];
patternView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
tableView.backgroundView = patternView;
可能有些晚了,但也许对于其他人来说还是有用的解决方案。我可以通过在UITableViewController
的viewDidLoad
方法中调用parentViewController
来实现这个功能:
self.parentViewController.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background.png"]];
self.tableView.backgroundColor = [UIColor clearColor];
或者只使用背景颜色:
self.parentViewController.view.backgroundColor = [UIColor scrollViewTexturedBackgroundColor];
self.tableView.backgroundColor = [UIColor clearColor];
我花了一段时间才弄明白,但现在它像魔法一样工作。
UITableViewController
,因为在 UITableViewController
中 self.view == self.tableView
。但是,如果您将 UITableView
添加到 UIViewController
中,则可以使用它。 - eunoia使用下面的Swift 3.0代码实现UITableView的常态背景:
self.tableView.backgroundView = UIImageView(image: UIImage(named: "background.png")!)