使用图像作为带有情节提要的静态表格视图的背景
Posted
技术标签:
【中文标题】使用图像作为带有情节提要的静态表格视图的背景【英文标题】:Using image as background for static table view with storyboards 【发布时间】:2013-06-07 02:16:41 【问题描述】:我正在创建一个没有故事板的标签栏应用程序,而是为我的一个标签创建了一个故事板。我有一个带有静态表视图的 UITableViewController。我也将它嵌入到导航控制器中。因为它是一个静态表视图,所以我有指向不同视图控制器的 segues。我没有链接到表格视图的文件。我希望能够为表格视图设置背景图像。我曾尝试使用 UIImageView 并尝试将其放在表格视图后面,但情节提要不会让我这样做。有什么建议吗?
故事板图片:http://gyazo.com/b94987037a31d6164815790d90ba26d9
【问题讨论】:
要在静态单元格中创建背景图像,您确实需要创建一些类(文件)并隐含我在该类中给您的代码。没有它是不可能在静态单元格中创建背景图像的。 【参考方案1】:您可以尝试将其添加到您的源中,我认为直接在情节提要中是不可能的:
UIImageView *tempImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"YourImage.png"]];
[tempImageView setFrame:self.tableView.frame];
self.tableView.backgroundView = tempImageView;
【讨论】:
你在说什么来源?当我尝试将其添加到 UITableViewController 时,出现错误 .frame notrecognized and .background notrecognized? 我刚刚编辑了源代码,现在可能正是您需要的。【参考方案2】:这是 ggrana 解决方案,但在 Swift 中:
let imvTableBackground = UIImageView.init(image: UIImage(named: "imgBackground"))
imvTableBackground.frame = self.tableView.frame
self.tableView.backgroundView = imvTableBackground
如果是这样,请在 Obj-C 中投票支持他的解决方案
【讨论】:
【参考方案3】:这是一个可能对您有所帮助的代码 sn-p。您需要将图像添加为单元格内容。请尝试以下操作:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
cell = [CalculatorTableView alloc] initWithStyle:UITableViewStyleDefault reuseIdentifier:nil]; //This wil obviously depend on your subclass
UIImageView *backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Yourimage.png"]];
[cell.contentView addSubview:backgroundView];
将 yourimage.png 更改为您正在使用的图像的名称。
【讨论】:
我将如何实现这一点,因为我在情节提要中只有一个 tableview 控制器,没有附加文件?没有任何东西只是看起来的桌子。我要创建一个 UITableViewController 类吗? 在您所说的问题中,您在其中一个选项卡中有一个 tableviewcontroller,该选项卡也嵌入在导航控制器中。您在 tableviewcontroller 类的 cellforrowatindexpath 中暗示了上面的代码,您试图将背景图像添加到其静态单元格。以上是关于使用图像作为带有情节提要的静态表格视图的背景的主要内容,如果未能解决你的问题,请参考以下文章