Tag: uitableview

如何使UITableView上的单元格不可选?

我有一个单元格,我插入到UITableView的顶部。 我怎样才能确保当用户点击单元格时,它不显示蓝色选定的指标?

为什么所有的背景在UITableViewCell select上消失?

我目前的项目的UITableViewCell行为令我感到困惑。 我有一个相当直接的UITableViewCell的子类。 它在基本视图中添加了一些额外的元素(通过[self.contentView addSubview:…]并在元素上设置背景颜色,使它们看起来像黑色和灰色的矩形框。 由于整个表格的背景都有这个具体的纹理图像,所以每个单元格的背景都需要是透明的,即使选中了,但在这种情况下,它应该会变暗一点。 我已经设置了一个自定义半透明选定的背景来达到这个效果: UIView *background = [[[UIView alloc] initWithFrame:self.bounds] autorelease]; background.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.6]; background.opaque = NO; [self setSelectedBackgroundView:background]; 虽然这样可以让背景看起来很正确,但是当我select这个单元格的时候会出现一个奇怪的副作用。 所有其他背景都不知怎么的摆脱了 。 这是一个截图。 底部的单元格看起来应该和不被选中。 顶部的单元格被选中,但它应该显示黑色和灰色的矩形区域,但他们已经走了! 谁知道这里发生了什么,甚至更重要:我该如何纠正?

UITableView编辑模式

我有UITableView ,我试图在编辑模式下默认加载它。 问题是当我这一行table.editing=TRUE; 我的行消失了,我实现了这个方法: – (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { // Return NO if you do not want the specified item to be editable. return YES; } – (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath { return UITableViewCellEditingStyleDelete; } – (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath { return NO; } 但没有运气。 我该怎么办?

UITableView移动到单元格

我想接下来: 我有一个UITableView必须显示单词(AZ)。 目前当视图加载时,我有一个单元格显示(这是正确的)。 第一个单元格显示我的数组字中的第一个单词 目的:我想移动到必须显示10个单词的单元格,但问题是indexPath.row = 10的单元格不存在(这是正确的,因为我不滚动)。 什么是一个正确的等待从1转换到10单元格。 我想如果我不使用dequeueReusableCellWithIdentifier来创build我的单元格,我可以做到这一点,解决我的问题,但我的意思是设备内存的这个问题。 换句话说,我需要使scrollToRowAtIndexPath 谢谢!

获取UITableView的高度而不用滚动条

我需要得到UITableView的全部高度(即没有更多的滚动的高度)。 有没有办法做到这一点? 我试过[tableView sizeThatFits:CGSizeZero] ,但是只返回一个0x0 CGSize 。

在iOS 7 viewForHeaderInSection部分是从1开始而不是从0开始

我正在处理我的项目中的UITableView ,这个项目是在Xcode 4.5中创build的,现在我正在使用Xcode 5,所以我的问题是当我在iOS 6中运行我的项目时, viewForHeaderInSection方法部分从0开始,如果我将使用iOS 7运行viewForHeaderInSection部分,则从1开始而不是从0开始 有什么问题是否有任何UITableView框架的问题 我不明白是怎么回事 提前致谢

contentView不能在iOS 6 UITableViewCell原型单元格中缩进

我正在使用Storyboard中的原型单元格来configuration自定义的UITableViewCell 。 但是,所有UILabel (和其他UI元素)似乎都不会被添加到单元格的contentView ,而是直接添加到UITableViewCell视图中。 这会在单元格进入编辑模式时产生问题,因为内容不会自动移动/缩进(如果它们位于contentView内部,它会这样做)。 在使用Interface Builder / Storyboard / prototype单元格布局单元格时,是否有任何方法将UI元素添加到contentView ? 我发现的唯一方法是在代码中创build一切,并使用[cell.contentView addSubView:labelOne]这不会很好,因为以graphics方式布局单元格要容易得多。

iOS 9 UITableView分隔符插入(重要的左边距)

我在iOS 9上的UITableViewCell中的UITableView之间存在分隔符问题。 他们有显着的左边缘。 我已经有了删除iOS 8引入的空格的代码,但它不适用于iOS 9 。 看起来他们加了别的东西。 我想这可能是与layoutMarginsGuide连接,但我还没有弄明白。 有没有人有类似的问题,发现解决scheme?

永久性地设置UITableView内容

在我的应用程序,我有一个UISearchBar UINavigationBar下,所以它总是可见的用户。 在这种情况下,我不得不设置额外的44px的contentInset,所以UIScrollView将在UISearchBar下滚动(就像在Contacts.app中一样) 。 而静态UITableView的没有问题,但在我的情况下,我不得不重新加载它的内容,切换到UISearchDisplayController等,所以当我打电话: [self.tableView setContentInset:UIEdgeInsetsMake(108, 0, 0, 0)]; 一切工作,直到例如我拉刷新…(为此我使用SSPullToRefresh )。 所以我的问题是: 我如何永久设置contentInset所以我不必担心UITableView数据发生任何变化?

计算UILabel / UITableViewCell的多行文本高度:在计算vs实际绘图时会得到不同的结果

这个一般的话题在这里被多次提出:如何使用不同数量的文本渲染UITableViewCells,从而改变高度。 规范的答案是:你使用sizeWithFont来计算heightForRowAtIndexPath中的表视图控制器委托中的高度:constrainedToSize:lineBreakMode :. 稍后,单元格会被绘制,如果需要的话,您可以使用[label sizeToFit]之类的东西,所有的东西都像魔术一样。 我的问题:我正在包装一些单元格,因为sizeWithFont:从实际绘图返回不同的尺寸。 一个具体的例子: 原文是这样的:“人们忘记了@BillGates在1993年从NEC那里买了一块性感厚度为1/4英寸的板子,不pipe这个星期发生什么事情都不是关于硬件的! CGSize theSize = [text sizeWithFont:[UIFont systemFontOfSize:17.0f] constrainedToSize:CGSizeMake(310.0f, FLT_MAX) lineBreakMode:UILineBreakModeWordWrap]; NSLog(@"calculated size for %@: %f, %f",text, theSize.width, theSize.height); 这返回:306.000000,84.000000。 (即4行,17px字体和4px行间距,21px领先。)好。 但是,后来实际绘制单元时: label = (UILabel *)[cell viewWithTag:3]; label.text = [NSString stringWithFormat:@"%@", text]; label.lineBreakMode = UILineBreakModeWordWrap; label.font = [UIFont systemFontOfSize:17.0f]; CGSize labelSize; labelSize = label.frame.size; NSLog(@"label size before resizing: %f, […]