Tag: uitableview

UITableViewCell作为参数不是副本?

也许现在还为时过早,但是我得到了一些我无法遵循的代码。 在一个UITableViewController是以下 override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = printTable.dequeueReusableCellWithIdentifier("printCell", forIndexPath: indexPath) as UITableViewCell configureTestCell(cell, atIndexPath: indexPath) return cell; } configureTestCell函数: func configureTestCell(cell: UITableViewCell, atIndexPath indexPath: NSIndexPath) { let printCell = cell as PrintCell if (self.searchActive) { printCell.nameLabel.text = "Project \(filteredData[indexPath.item])" } else { printCell.nameLabel.text = "Project \(printData[indexPath.item])" } […]

UITableViewCell – 为选中的行保留选中标记

这是UITableViewCell的后续问题- 每个部分选中一行 。 在这里,我有两个部分,每个3行,如下所示: search距离 250英尺 1000英尺 4000英尺 地图types 标准 卫星 混合动力 我在第2节(MAP TYPE)中遇到问题。 我希望将“标准”选中为默认值,以后用户select的任何选项都可以保存并传递到另一个包含地图视图的视图控制器,以根据所选的地图types进行显示。 我目前的代码不允许我这样做第2节。 任何人,请帮助检查我的代码,并build议我需要添加/修改? 我一直在试图了解它是如何工作的第一部分(search距离),但我只是不完全明白。 这似乎涉及委托文件做caching的东西。 在这里我的代码是: #import "PAWSettingsViewController.h" #import "PAWAppDelegate.h" #import <Parse/Parse.h> @interface PAWSettingsViewController () – (NSString *)distanceLabelForCell:(NSIndexPath *)indexPath; – (PAWLocationAccuracy)distanceForCell:(NSIndexPath *)indexPath; – (NSString *)maptypeLabelForCell:(NSIndexPath *)indexPath; – (PAWMaptypeSelect)maptypeForCell:(NSIndexPath *)indexPath; @property (nonatomic, assign) CLLocationAccuracy filterDistance; @end typedef enum { kPAWSettingsTableViewDistance = 0, […]

TableViewController没有接收到触摸

注意:我最初问这个问题,为什么没有调用SelectSelectRowAtIndex。 进一步深入研究,我意识到我的核心问题是我的观点之一是没有接受触摸事件。 我将在这里留下这个问题的后代,并要求一个更清晰的版本。 如果pipe理员想要closures或删除此问题,请继续操作。 我正在我的应用程序中实现一个侧栏(就像一个汉堡菜单),我正在使用UITableViewController来做到这一点。 我可以让边栏显示,单元格正确初始化。 我的代码非常简单,我在这里包括所有的代码。 现在我只有主屏幕的视图控制器和边栏的表视图控制器。 任何帮助表示赞赏! 更新:它看起来像问题不是didSelectRowAtIndexPath没有被调用 – 这是我的SimpleTableViewController没有收到任何接触! 我试着在ViewController和SimpleTableViewController中重写'touchesBegan:withEvent:':ViewController接收触摸就好了,但是表视图控制器似乎什么也没有收到。 进一步更新:我已经意识到,这个问题与我如何做animation来显示屏幕右侧的tableview。 现在我正在将主应用程序视图“推”到左侧,将“视图”一起“拉”到一起。 当我这样做的时候,当我点击它的时候没有碰到containerView。 然而! 如果我“拉”在主视图顶部的containerView,触摸收到就好了。 也许我错过了一些关于iOS认为是触摸合法的屏幕的“活动”部分的基本知识吗? 代码在这里: 之前 – 损坏 @IBAction func push() { // containerView is "pulled" alongside self.view UIView.animateWithDuration(3.0) { self.view.frame = CGRectMake(self.originalX – 250, self.originalY, self.view.frame.width, self.view.frame.height) } } 这里是一个显示什么应用程序看起来像什么时候触摸不起作用的gif。 之后 – 作品 @IBAction func push() { // containerView […]

self.tableView reloadData不重新加载UITableView

我一直在尝试重新加载我的UITableView,但无济于事。 我的viewWillAppear的代码如下所示: -(void)viewWillAppear:(BOOL)animated { self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(refresh)] autorelease]; [super viewWillAppear:animated]; [self.tableView reloadData]; } 我的刷新方法的代码: -(void)refresh{ NSLog(@"refreshing UITableView!"); [self.tableView reloadData]; } 很感谢任何forms的帮助!

GLTapLabel里面的UITableView

我正在使用GLTapLabel在我的UITableView显示我的文字。 它会有一些链接,我可以点击作为GLTapLabels ,但是当我点击这些链接tableView:didSelectRowAtIndexPath:触发。 那么如何检测这些链接中的点击操作?

表视图单元格子视图的框架更改将不会发生,直到视图确实出现

我想要更改一个UITableViewCell的子视图,当它在cellForRowAtIndexPath中设置时,使用下面的代码: cellSubView.center = CGPointZero 打印框架的坐标显示框架更新成功,但视图仍显示在界面生成器中给出的位置。 用下面的代码重写viewDidAppear函数可以解决这个问题: override func viewDidAppear(animated: Bool) { super.viewDidAppear(animated) self.tableView.reloadData() } 但是这会导致闪烁:当我改变它的一个单元格的子视图的位置时,表格视图已经出现了。 在视图出现之前如何改变框架?

search之后select单元格不会直观地进行,但加载下一个视图Swift Xcode

我有一个TableView,这基本上是为用户从名称列表中search。 我有search设置,所以他们可以键入一个名称,它会search该人。 当他们select一个单元格时,它所做的就是将名称string转移到下一个视图。 当没有人search时,它工作得很好,你只需要在表格中select一个单元格。 然而,当你search一个名字,然后select,你点击单元格,它变成灰色。 然后加载下一个显示,但不显示它。 然后当我点击search栏上的取消,它崩溃的应用程序。 我不知道该怎么做/这个错误是什么。 var appleProducts = ["I am using a custom name"] var filteredAppleProducts = [String]() var resultSearchController = UISearchController() override func viewDidLoad() { super.viewDidLoad() self.loadNames() self.resultSearchController = UISearchController(searchResultsController: nil) self.resultSearchController.searchResultsUpdater = self self.resultSearchController.dimsBackgroundDuringPresentation = false self.resultSearchController.searchBar.sizeToFit() self.resultSearchController.searchBar.placeholder = "Type Name Here" self.tableView.tableHeaderView = self.resultSearchController.searchBar self.tableView.reloadData() } override func tableView(tableView: […]

禁用tableHeaderView(不要与节头混淆)滚动

是否有可能禁用滚动tableHeaderView (不要与节头混淆) 。现在,每当我滚动表,查看tableHeaderView也滚动。 我在做什么: 我有一个从UITableViewController分类的类。 在故事板中,我正在使用静态表格视图。 表格样式是分组的,我添加了8个分区,每个分区都有一行。 在第一部分的顶部,添加了一个视图tableHeaderView。 当我滚动表格时,我想禁用标题“Profile”的滚动视图。 PS:我知道这是可以实现的,如果我从UIViewController而不是UITableViewController我的类。 但我不想UIViewController,因为我正在使用storyboard来devise静态单元格,如果我使用UIViewController而不是UITableViewController,那么编译器将会抛出一个警告:“静态表格视图只有embedded到UITableViewController实例中才有效” 请让我知道哪个是最好的方法来实现this.Is可能禁用滚动tableHeader使用我目前的做法,或者我需要使用UIViewController代替。

如果一个文本字段已经添加到单元格,怎么不创build一个新的文本字段

我正在使用下面的代码在UITableView单元格中创build文本字段: static NSString *CellIdentifier = @"Cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier]; cell.showsReorderControl = YES; } if (indexPath.row == 1) { UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(15,10,260,40)]; textField.placeholder = @"Activity 1: Type Name"; textField.delegate = self; textField.clearButtonMode = YES; [textField setReturnKeyType:UIReturnKeyDone]; [cell addSubview:textField]; } return […]

使用带UIImage的SDWebImage的TableViewController

下午好, 我试图在我的TableViewController第一次使用SDWebImage,我有一些问题,使用“setImageWithURL”属性,因为它只承认一个UIImageView,但我有一个UIImage来parsing从我的JSON数据。 我如何改变我的代码,以便使用UIImageView而不是UIImage? 因为UIImageView不具有UIImage相同的function,我必须从URL创build我的图像。 这里是我的代码,我希望你能帮助我一些提示: – (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"carTableCell"; CarTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[CarTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; } // Configure the cell… cell.makeLabel.text = [[_jsonArray objectAtIndex:indexPath.row] valueForKey:@"id"]; cell.likes.text = [[_jsonArray objectAtIndex:indexPath.row] valueForKey:@"likes"]; cell.comments.text = [[_jsonArray objectAtIndex:indexPath.row] valueForKey:@"comments"]; cell.username.text = […]