如何检测UITableView的某个单元格上的双击? 即如果用户做了一个单一的触摸,而另一个用户做了双重触摸,我想执行一个动作? 我也需要知道触摸的索引path。 我怎样才能达到这个目标? 谢谢。
正常情况下,当用户从细节视图中popup时, UITableView的选定行将被取消selectanimation。 但是,在我的情况下,我有一个UITableViewembedded到UIViewController我必须在viewWillAppear手动执行它,如下所示: -(void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; // For some reason the tableview does not do it automatically [self.tableView deselectRowAtIndexPath:self.tableView.indexPathForSelectedRow animated:YES]; } 为什么是这个以及如何解决?
我有一个自定义的UITableViewCell,它由以下初始化: – (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; if (self) { NSArray *nibArray = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil]; self = [nibArray objectAtIndex:0]; [self setSelectionStyle:UITableViewCellSelectionStyleNone]; [self.downButton setBackgroundImage:[UIImage imageNamed:@"button"] forState:UIControlStateNormal]; [self.downButton setBackgroundImage:[UIImage imageNamed:@"buttonSelected"] forState:UIControlStateHighlighted]; } return self; } 该button显示正确,具有适当的背景图像,但按下/单击button时突出显示的图像不会立即显示。 相反,在发生变化之前,您必须将其保持一两秒钟。 另一方面,释放button确实会立即改变回原始的背景图像。 尝试减less切换到突出显示的图像时的迟缓更改,我将更改以下面的方法: – (IBAction)downDown:(id)sender { [self.downButton setBackgroundColor:[UIColor redColor]]; } 上面的方法设置为“Touch Down”(与更常见的“Touch Up Inside”相对),并且我已经移除了setBackgroundImage:forState:用于突出显示的状态。 […]
昨天晚上,我决定升级到Xcode 5,并看看我目前的项目。 更新我的故事板到新的UI后,一切看起来不错,运行良好。 因为我有一个通用的二进制文件,所以我决定在iPad上testing一些东西,并注意到一个新的白色背景已经引入到我的UITableview中,曾经是透明/清晰的颜色。 这似乎发生在单元级而不是表级。 当我在6.1模拟器上运行的东西时,iPad和iPhone上的一切看起来都很好。 一切看起来很好iOS7的iPhone。 我为iPhone和iPad设置的所有界面生成器都是相同的。 从我可以告诉它与这个新的“内容视图”(这是项目单元的子组)不涉及透明的值/设置有关。 任何想法/想法?
使用setContentOffset滚动UITableView时,有没有办法改变animation的速度:animated:? 我想滚动到顶部,但是慢慢地。 当我尝试以下操作时,会导致底部的几个单元格在animation开始之前消失(具体来说,当滚动完成时,这些单元格将不可见): [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:3.0]; [self.tableView setContentOffset:CGPointMake(0, 0)]; [UIView commitAnimations]; 任何其他方式解决这个问题? 有一个私有方法_setContentOffsetAnimationDuration可以工作,但我不想被拒绝从应用程序商店。
我试图设置tableView的每一行的高度与这个代码对应的单元格的高度: override func tableView(tableView: UITableView!, heightForRowAtIndexPath indexPath: NSIndexPath!) -> CGFloat { var cell = tableView.cellForRowAtIndexPath(indexPath) return cell.frame.height } 初始化var cell时出现这个错误: 线程1:EXC_BAD_ACCESS(代码= 2,地址= 0x306d2c)
我的问题很简单,但没有得到正确的答案。我试过这一个,但它也没有工作。 cell.textLabel.adjustsFontSizeToFitWidth=NO; cell.textLabel.minimumFontSize=6; 我需要代码片段。 提前致谢
我有我的UITableView 50个自定义单元格。 我想显示一个图像和一个标签在单元格中,我从URL获取图像。 我想做一个懒惰的图像加载,以便在加载图像时UI不会冻结。 我试图在单独的线程获取图像,但我必须加载每个图像,每次细胞变得可见(否则重用单元格显示旧图像) 像Facebook这样的应用程序只能为当前可见的单元格加载图像,一旦加载图像,就不会再次加载图像。 有人可以告诉我如何复制这种行为。 谢谢。 编辑 尝试将图像caching在NSMutableDictionary对象中会在用户快速滚动时产生问题。 只有在滚动完全停止并清除caching内存警告时,我才能获取图像。 但是,应用程序总是会得到一个内存警告(由于caching图像的大小),并在重新加载前清除caching。 如果滚动速度非常快,就会崩溃。 欢迎任何其他build议
当用户点击我的行中的一个button时,我正在更新该行的基础模型,然后为给定行(即单行重新加载)调用reloadRowsAtIndexPaths。 – (IBAction)handleCompleteTouchEvent:(UIButton *)sender { NSIndexPath *indexPath = [self.tableView indexPathForView:sender]; id item = [self dataForIndexPath:indexPath]; if ([item respondsToSelector:@selector(completed)]) { // toogle completed value BOOL completed = ![[item valueForKey:@"completed"] boolValue]; [item setValue:[NSNumber numberWithBool:completed] forKey:@"completed"]; [self.tableView beginUpdates]; [self.tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone]; [self.tableView endUpdates]; } } 问题是在进行这个调用之后,表格视图会跳回到部分的顶部。 我怎样才能防止这种情况发生,并保持滚动的位置?
我在Xcode 5中使用自动布局。 我将表视图的高度设置为大于或等于200px。 我希望它具有dynamic的大小。 因为有时会有很多行,有时会有几行。 但尺寸总是200px。 如果内容比这个大,我应该向下滚动查看下面的行。 我应该怎么做给予tableviewdynamic大小?