- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个 UICollectionView
,我正在尝试根据 CollectionView 中是否有任何数据使用 backgroundView 属性设置背景图像。我有导航将更改数据,并重新加载 Collection View (调用 [self.collectionView reloadData]
)。出于某种原因,我得到了非常奇怪的结果。首先,有时当我设置属性时,它会出现在 collectionView 单元格的顶部并遮住它们。其次,当我尝试更改属性时,它不会在屏幕上更改。这让我抓狂!实现起来似乎很简单!
所以在代码中。在 viewDidLoad
中为 UICollectionViewController
- (void)viewDidLoad {
[self loadSections];
[self setupBackgroundView;
}
Load sections 方法只加载我用于 Collection View 的数据,然后它还调用一个方法来设置背景 View ,该方法根据是否有任何数据来决定添加哪个 View ,如下所示:
- (void)loadSections {
[self loadPictures];
[self setupBackgroundImage];
}
- (void)setupBackgroundImage {
if ([self.sections count] == 0 || !self.sections) {
self.collectionView.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"TakePhoto"]];
}
else {
self.collectionView.backgroundView = nil;
}
}
现在,当 View 首次加载时,如果没有数据,因此没有单元格来显示背景图像,则会正确显示。然后我更改数据,我现在有一些要显示的单元格,setupBackgroundImage 被调用,我可以验证 backgroundImage 属性是否设置为 nil(我什至在这里设置了断点并检查了值,它是 nil)。但是背景图像仍然可见。
此外,如果我将 nil 更改为另一张图片,则永远不会显示这张新图片。
更奇怪的是。如果我显示了一些单元格并设置了背景图像,则该图像会整齐地显示在单元格后面。如果我随后使用新数据集重新加载数据,则图像会显示在单元格前面,遮挡它们。我不知道这是怎么发生的,因为背景 View 应该落后于所有其他 View 。
谁知道为什么会这样。它是否被缓存在任何地方?还是我只是在做一些傻事?我在这里完全不知所措 - 花在这上面的时间比编写它使用的自定义布局还多!
最佳答案
试试这个
self.collectionView.backgroundView =[[UIView alloc]initWithFrame:self.collectionView.bounds];
UIImageView *imgVW=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"TakePhoto"]];
[self.collectionView.backgroundView addSubView:imgVW];
关于ios - 无法更改 UICollectionView 上的 backgroundView 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16604447/
对于我的 tableview,我做了一个自定义背景 View ,我在我项目的每个 tableView 上调用 viewDidLoad: - (void)viewDidLoad{ [super
我有一个带有可变高度单元格的UITableView。我不想使用背景图像,而是想设置一个具有我想要的样式的 backgroundView 。目前,我不知道如何根据单元格的高度动态更改 backgroun
我很难让单元格的 backgroundView 显示出来。 代码: - (UITableViewCell *)tableView:(UITableView *)tableView cellForRow
我有带有背景图像的 UITableView 然后我滚动它 我有像背景 imageView 滚动一样的视差效果。问题是我的图像完成后我有 tableView 背景。是否可以制作无限 imageView?
我已经在 cellForRowAtIndexPath 中检查了如何使用 UITableView 制作背景: UIImageView *tempImageView = [[UIImageView all
我有一个分组 TableView ,我添加了一个自定义背景 View ,我在代码中设置这些,在普通和视网膜 iPhone 的 iOS 模拟器上一切正常,但在设备上它们根本不显示,它只是一个完全没有背景
我想为我的表格 View 单元格添加自定义背景和选定的背景图像。目前看来,当单元格被重用时,背景图像会搞砸,顶部单元格将使用底部单元格图像,等等。 在这种情况下,我是否错误地重用了单元格? - (UI
我正在尝试更改搜索栏文本字段的背景颜色,我已经搜索并尝试了很多解决方案,但这些都不起作用。 所以,请任何人都可以告诉我确切的解决方案。我们如何更改搜索栏文本字段的背景颜色? /// used to p
我对 backgroundView 属性有疑问。我试图像这样将 imageView 添加到背景中 let backgroundImage = UIImage(named: "Fridge_ba
我使用此函数在我的 TableView 为空时添加背景 View 。 func emptyTableViewMessage(with message: String) { let messag
我已经能够将我想要的渐变应用于我的 UICollectionViewCell 的背景 View 。但每次我重新加载单元格时,它都会再次应用我的渐变,累积所有渐变。 首先这里是我的渐变方法: stati
我正在写一些相对简单的东西,或者我是这么想的。 首先是代码,如果我的服务器没有返回结果,我会尝试将图像放在 UICollectionView 的背景上。图片是 200 x 200: UIView *m
我正在开发一个 iPad 应用程序来帮助我在国外管理我的开支。 我有一个带有经典主视图和详细 View 的 Split View。在主视图中有费用 list ,在明细 View 中,你猜怎么着?每一笔
我目前正在将 UITableViewCells 的背景 View 设置为从 eBay 的 API 中提取的图像。 cell.backgroundView = [[UIImageView alloc]
我有一个 UITableView,它使用带有自定义 backgroundView 的单元格。我正在按照建议在 tableView:cellForRowAtIndexPath:indexPath: 中分
我有一个带有自定义 backgroundView 的表格单元格,它在纵向时看起来很棒,但是当我移动到横向时,backgroundView 会被拉伸(stretch)以匹配横向宽度。我怎样才能使 bac
我在 UIViewController 中有一个 UITableView 嵌套在 UITabBarController 中,它有多个部分,每个部分都有一个自定义部分标题,它是一个子类一个UIView。
我遇到的问题是,当标签应该锚定到安全区域布局指南时,它却锚定到屏幕的底部边缘。这会将标签置于 iPhone 线之上。 这是代码... class CustomTableViewController:
我在使用带有自定义 drawRect: 的自定义 backgroundView 的自定义 UITableViewCell 时遇到问题 当用户选择我调用的单元格时 [tableView beginUpd
我想将我的表格 View 背景放在导航栏下方。当我尝试更改框架时没有任何反应.. UIImageView *imageView = [[UIImageView alloc] initWithFram
我是一名优秀的程序员,十分优秀!