天道酬勤,学无止境

从表格中隐藏选定的单元格 - Swift4(Hide Selected Cell from the Table - Swift4)

问题

我有一个列表,其中包含我从Realm数据库中查询的 4 个地点对象。

Optional(Results<Place> <0x7feaaea447c0> (
    [0] Place {
        name = Daniel Webster Highway;
        country = United States;
        lat = 42.72073329999999;
        lon = -71.44301460000001;
    },
    [1] Place {
        name = District Avenue;
        country = United States;
        lat = 42.48354969999999;
        lon = -71.2102486;
    },
    [2] Place {
        name = Gorham Street;
        country = United States;
        lat = 42.62137479999999;
        lon = -71.30538779999999;
    },
    [3] Place {
        name = Route de HHF;
        country = Haiti;
        lat = 18.6401311;
        lon = -74.1203939;
    }
))

我试图隐藏选定的一个。

前任。 当我点击Daniel Webster Highway ,我不希望它显示在我的列表中。

在 Swift 4 中如何超越并做到这一点?


代码

//
//  PlaceDetailVC.swift
//  Memorable Places
//
//

import UIKit
import CoreLocation
import RealmSwift

class PlaceDetailVC: UIViewController, UITableViewDelegate, UITableViewDataSource {
    
    @IBOutlet weak var address: UILabel!
    @IBOutlet weak var placesTable: UITableView!

    var selectedPlace : Place = Place()
    var selectedTrip : Trip = Trip()
    
    var distances = [ String ]()
    var places : Results<Place>?

    override func viewDidLoad() {
        super.viewDidLoad()
        
        address.text = selectedPlace.name
    
        //register xib file
        placesTable.register(UINib(nibName: "PlaceDetailCell", bundle: nil), forCellReuseIdentifier: "customPlaceDetailCell")
    
    }
    
    override func viewDidAppear(_ animated: Bool) {
        
        load()
        
        if selectedPlace != nil && places != nil {
            
            for i in 0..<places!.count {
                
                let latitude = Double(places![i].lat)
                let longitude = Double(places![i].lon)
                
                let currentLatitude = Double(selectedPlace.lat)
                let currentLongitude = Double(selectedPlace.lon)
                
                //print(latitude,longitude,currentLatitude,currentLongitude)
                
                let coordinate = CLLocation(latitude: latitude, longitude: longitude)
                let currentCoordinate = CLLocation(latitude: currentLatitude, longitude: currentLongitude)
                
                let distanceInMeters = coordinate.distance(from: currentCoordinate) // result is in meters
                let distanceInMiles = distanceInMeters/1609.344
                
                distances.append(String(format: "%.2f", distanceInMiles))
                
            }
            
        }
    }
    
    // ---------------------------------------------------------------------------------------------------------
    //MARK - CRUD functions
    
    
    //Read
    func load() {
        places  = selectedTrip.places.sorted(byKeyPath: "name", ascending: true)
        //print(places,"<<<")
        placesTable.reloadData()
        
    }

    
    // ---------------------------------------------------------------------------------------------------------
    //MARK - Table View Datasource
    
    func numberOfSections(in tableView: UITableView) -> Int {
        return 1
    }
    
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return places?.count ?? 0
    }
    
    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return 70
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        
        let cell = tableView.dequeueReusableCell(withIdentifier: "customPlaceDetailCell", for: indexPath)
         as! CustomPlaceDetailCell
        
        if selectedPlace.name != nil {
           
            cell.address.text = (places![indexPath.row]["name"] as! String)
            cell.distance.text = distances[indexPath.row]

        }
        
        return cell
    }
    
    // ---------------------------------------------------------------------------------------------------------
    //MARK - Table View Delegate
    
    func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
        return true
    }
    
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        activePlace = indexPath.row
    }
    
    

}
回答1
var distances = [ String ]()
var places : Results<Place>?

然后在tableView(_:cellForRow:)

cell.address.text = (places![indexPath.row]["name"] as! String)
cell.distance.text = distances[indexPath.row]

只是不要那样做。 这些信息需要同步。

相反,使用另一个类/结构,或者一个扩展来保存距离和位置。

var array: [PlaceModel]
struct PlaceModel {
    let place: Place
    let distance: Double //You can use String, but that's bad habit
    //Might want to add the "image link" also?
}

load()

array.removeAll()
let tempPlaces = selectedTrip.places.sorted(byKeyPath: "name", ascending: true)
for aPlace in tempPlaces {
    let distance = //Calculate distance for aPlace
    array.append(PlaceModel(place: aPlace, distance: distance)
}

现在,在tableView(_:cellForRow:)

let aPlaceModel = array[indexPath.row]
if activePlace == indexPath {
    let cell = tableView.dequeue...
    //Use cellWithImage for that place
    return cell
} else {
    let cell = tableView.dequeue...
    cell.address.text = aPlaceModel.place.name
    cell.distance.text = aPlaceModel.distance
    return cell
}

并在任何你想要的地方保留这个逻辑,如果需要 heightForRow (例如,如果你想要你所有的图像都在 80pt,但其余的在 44pts,等等。

tableView(_:didSelectRowAt:) ,添加tableView.reloadData() ,或者更好的tableView.reloadRows(at: [indexPath] with: .automatic)

注意:代码未经测试,可能无法编译,但您应该明白这一点。

回答2

您可以将所选行的索引从 placesVC 传递到您的 PlaceDetailVC 并在

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {

    if indexPath.row == passedIndex {
        return 0
    }

    return 70
}

将单元格高度设置为 0 以隐藏单元格。

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 为选定的单元格禁用 prepareForReuse(Disable prepareForReuse for selected cell)
    问题 我有一个自定义UITableViewCell 。 当一个单元格被选中时,一个UILabel被添加到其中。 我不得不使用prepareForReuse以免弄乱,如下所示: - (void)prepareForReuse { NSArray *viewsToRemove = [self.view subviews]; for (UILablel *label in viewsToRemove) { [label removeFromSuperview]; } } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { CategorieCell *customCell = [tableView dequeueReusableCellWithIdentifier:@"cellID" forIndexPath:indexPath]; return customCell; } 问题是当我向下滚动到标签不在视野范围内,然后向上滚动时,标签不再存在。 原因显然是因为当单元格被重用时,我删除了所有标签。 那么有没有办法为所选行禁用prepareForReuse (或只是方法中的代码),以及如何禁用? 回答1 滚动离开的单元格将被重用
  • UITableView选定的单元格在滚动时不会保持选中状态(UITableView selected cell doesn't stay selected when scrolled)
    问题 滚动表格时,表格视图单元格未保持其“选定”状态时出现问题。 以下是相关代码: @property (nonatomic, strong) NSIndexPath *selectedIndexPath; -(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { self.selectedIndexPath = indexPath; //do other stuff } -(UITableViewCell*) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { MyCustomCell_iPhone* cell = [tableView dequeueReusableCellWithIdentifier:@"MyCustomCell_iPhone"]; if (cell == nil) cell = [[[NSBundle mainBundle] loadNibNamed:@"MyCustomCell_iPhone" owner:self options:nil] objectAtIndex:0]; if ([indexPath
  • 如何在IPython Notebook中隐藏一个特定的单元格(输入或输出)?(How to hide one specific cell (input or output) in IPython Notebook?)
    问题 有没有办法在IPython Notebook中有选择地隐藏一个特定的输入或输出单元格? 我只能找到下面的代码来显示/隐藏所有输入单元格。 http://blog.nextgenetics.net/?e=102 但是,如果我只想隐藏笔记本的第一个输入单元格该怎么办? 回答1 This is now built into nbconvert (as of 5.3.0) using tags. Here's an example removing a specific cell from the output. Using this notebook. The example has three cells: a markdown cell, a code cell that will be hidden, and a code cell that will not be hidden. Add the remove_cell tag to any cells you want to hide using the tag editor built into the notebook or JupyterLab (the specific name "remove_cell" doesn't matter) Convert with nbconvert jupyter
  • 如何从 iPhone 的表格视图中获取选定单元格的单元格值(how to get the cell value of a selected cell from Table view in iPhone)
    问题 我在表视图控制器中显示图像,其中图像从 URL 呈现为 XML 文件。 它适用于将图像列为滚动视图。 现在我想选择一个特定的图像,窗口应该单独显示选定的单元格图像。 为此,我需要获取 Cell 值。 如果是这样,我如何获取特定的单元格值并在下一个窗口中将其相应的图像显示为集合视图。 请给我一个想法。 为了您更好地理解,我在图像下方粘贴了我的故事板当前的外观以及我如何需要输出。 希望你明白我的问题。 回答1 -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { // here we get the cell from the selected row. UITableViewCell *selectedCell=[tableView cellForRowAtIndexPath:indexPath]; // perform required operation UIImage * image =selectedCell.image; // use the image in the next window using view controller instance of that view. } 回答2 你应该使用
  • 从选定单元格中查找表格行号(find table row number from selected cell)
    问题 如何从所选单元格中找到表 (Excel 2010) 中的行号。 我可以从ActiveRow.Row或Selection.Row找到工作表行号。 但我想知道这是表中的行号。 回答1 Selection.Row - Selection.ListObject.Range.Row 回答2 这是一个想法,尝试获取(活动行 - 表的第一行)。 这将为您提供表格中的行号。 回答3 我不是 vba / excel 专家,但这可能会完成这项工作: 答案有点晚了 - 但我遇到了同样的问题。 我的函数返回一个更强大的 listRow 对象: Sub testit() Dim myList As ListObject Dim myRow As ListRow 'some reference to a listObject Set myList = ActiveWorkbook.Sheets(1).ListObjects("TableX") ' 'test the function Set myRow = FirstSelectedListRow(myList) ' 'select the row myRow.Select 'get index within sheet MsgBox ("sheet row num " & myRow.Range.Row) ' get index within
  • 我的表格视图在滚动时重用选定的单元格 - 在 SWIFT 中(my table view reuse the selected cells when scroll — in SWIFT)
    问题 早上好 我的问题是,当我上下滚动时,我的表视图会重用选定的单元格..我的意思是,当我从上选择一个单元格然后向下滚动时,我未选择的某些单元格显示为选中状态,从上往下也选择了一些选定的单元格当我再次向上滚动时,没有显示为选中状态,当发生这种情况时,我再次成为苹果,选择了多个单元格,这是不允许的..我想提一下,我试图从'didSelectRowAtIndexPath'中保存旧的索引路径,我像这样在'CellForRowAtIndexPath'中检查了它,但是它不起作用: if (old == indexpath) { cell?.backgroundColor = UIColor.redColor() cell?.textLabel?.backgroundColor = UIColor.whiteColor() //to change only the thumbnail color and keep the cell color } else { cell?.backgroundColor = UIColor.whiteColor() } 现在这是我的代码 func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { var
  • 当按钮在同一单元格内单击时如何隐藏/显示自定义表格视图单元格内的特定视图(how to hide/show a specific view inside the custom tableview cell when button click inside the same cell)
    问题 我有一个table view (例如:20 行)。 我在这个table view使用了一个custom table view cell 。 在这个table view cell ,有几个labels 、一个button和一个hidden view (UIView) 。 我已经编写了用于hide/show custom table view cell class的hidden view button action 。它工作正常。但它会影响表格视图中的其他rows 。 这意味着,当我点击第一行中的按钮时,隐藏视图显示, scroll down时它可以在表格视图的其他一些行中看到。 同时( hide/show ),我想increase和decrease行高(仅单击行/单元格)。 出了什么问题。 下面是我的代码和一些屏幕截图,以获得一个想法。 注意:当单击每个单元格中的展开按钮时,单元格会自行展开/增加。 这就是我在custom table view cell类中hide和show hidden view 。 - (IBAction)hideshow:(id)sender { BOOL ishidden = self.insideCollectionView.hidden; if(ishidden == true) { self.insideCollectionView.hidden
  • 如何在使用 Google Apps 脚本迭代 Google 电子表格时跳过隐藏的行(How to skip hidden rows while iterating through Google Spreadsheet w/ Google Apps Script)
    问题 我有一个包含许多隐藏行的 Google 电子表格,我想在遍历电子表格中的行列表时跳过它们。 这主要是一个效率问题,因为我正在处理超过一半的行被隐藏并且不需要检查。 任何帮助,将不胜感激。 回答1 在 Apps Script 中没有直接的方法可以做到这一点,但是如果你想给它加星标,可以打开一个功能请求来提供一种获取行的显示/隐藏状态的方法。 回答2 2018 年的新 API 对这个问题很有用:isRowHiddenByUser。 另见isRowFilteredByUser 。 回答3 使用SUBTOTAL的解决方法。 创建 2 列 A 和 B。A 必须始终有一个值,而 B 有一组公式。 这 2 列如下所示: A | B --------------------------- 1 | =NOT(SUBTOTAL(103, A1)) 1 | =NOT(SUBTOTAL(103, A2)) 1 | =NOT(SUBTOTAL(103, A3)) SUBTOTAL使用指定的聚合函数返回小计。 第一个参数 103 定义了用于聚合的函数类型。 第二个参数是应用函数的范围。 3 表示COUNTA并计算范围内值的数量 +100 表示忽略范围内的隐藏单元格。 单元格范围为 1 的SUBTOTAL的结果在单元格隐藏时为 0,在单元格显示时为 1。 NOT反转它。 现在,您可以使用脚本读取 B
  • 回到表格视图时如何更改 UITableViewController 的选定单元格?(How to change selected cell of UITableViewController when coming back to the table view?)
    问题 当您选择一个单元格并移动到详细信息视图并通过点击back button返回到表格视图时,您上次选择的单元格的背景颜色会突出显示。 从详细信息视图返回表格视图时,如何突出显示之前未选择的另一个单元格? 例如,在 Apple 的Music应用程序中,当您选择并播放一首歌曲并通过点击next track button更改歌曲并返回歌曲表视图时,突出显示的单元格不是您上次听的歌曲,而是您听过的歌曲上次在表格视图中选择。 但我想强调你上次听的那首歌。 那可能吗? 回答1 您需要在调用 didSelectRow 函数时保留 NSIndexPath 存储。 在 viewWillAppear 方法中,您应该使用此方法为此保存的索引路径选择行。 - (void)selectRowAtIndexPath:(NSIndexPath *)indexPath animated:(BOOL)animated scrollPosition:(UITableViewScrollPosition)scrollPosition; 回答2 在视图中将出现方法,您必须使用以下功能取消选择先前的选择 – deselectRowAtIndexPath:animated: 然后选择你必须调用下面的方法在视图中会出现 – selectRowAtIndexPath:animated:scrollPosition: 回答3
  • jQuery 根据单元格内容显示/隐藏表格行(jQuery show/hide table rows based on cell content)
    问题 我正在尝试制作一些基于第 4 个单元格的内容显示/隐藏数据表中的行的 Javascript。 表如下: DATE | DESCRIPTION | PRICE | PHONE | STATUS | ----------------------------------------------- xxx | yyyyyyyyyyy | 3243 | 32553 | Finished | xxx | yyyyyyyyyyy | 3243 | 32553 | Suspeded | xxx | yyyyyyyyyyy | 3243 | 32553 | Active | xxx | yyyyyyyyyyy | 3243 | 32553 | Finished | 我在下拉菜单的 onChange 函数上有以下代码: function refinesearch() { $(".data tr").hide(); //hide all rows var refine = $("#refine1").val(); //retrieve wanted status if(refine=="All") { $(".data tr").show(); //show all rows if want to see All } else { $(".data tr").each(function() { /
  • UITableView Cell selected Color?(UITableView Cell selected Color?)
    问题 我创建了一个自定义UITableViewCell 。 表格视图显示的数据很好。 我遇到的问题是,当用户触摸表格视图的单元格时,我想显示该单元格的背景色,而不是默认的[蓝色]值,以突出显示该单元格的选择。 我使用此代码,但没有任何反应: cell.selectedBackgroundView.backgroundColor=[UIColor blackColor]; 回答1 我认为您走在正确的道路上,但是根据selectedBackgroundView的类定义: 对于普通样式表(UITableViewStylePlain)中的单元,默认值为nil;对于节组表UITableViewStyleGrouped,默认值为nil。 因此,如果您使用的是普通样式表,则需要分配-初始化一个具有所需背景色的新UIView ,然后将其分配给selectedBackgroundView 。 或者,您可以使用: cell.selectionStyle = UITableViewCellSelectionStyleGray; 如果选中该单元格时您想要的只是一个灰色背景。 希望这可以帮助。 回答2 无需自定义单元格。 如果只想更改单元格的选定颜色,则可以执行以下操作: 目标C: UIView *bgColorView = [[UIView alloc] init]; bgColorView
  • UITableView:显示最后一个单元格的分隔符的正确方法(UITableView: the proper way to display a separator for the last cell)
    问题 问题是在表格/部分的最后一个单元格中显示分隔符的最正确方式是什么。 基本上这就是我所追求的。 这是来自本机音乐应用程序,这让我认为应该可以通过UITableView来实现,他们不会使用某些用于单元格分隔符的私有 API,对吗? 我知道你可以不使用实际的分隔符,而是在单元格底部添加一个像素线。 但我不喜欢这种方法,因为 当一个单元格被选中/突出显示时,它的分隔符和前一个单元格的分隔符会自动隐藏(参见第二个屏幕截图,选择了“你必须疯了”)。 如果我使用单像素线,这是我希望 UITableView 处理而不是自己处理的事情(当单元格分隔符没有一直延伸到表格视图的边缘时,这特别方便,分隔符和选定的单元格背景看起来不在一起很好)。 我想让我的单元格尽可能平坦以提高滚动性能。 UITableView 参考中还有一些东西让我觉得有一种简单的方法可以得到我想要的东西: 在 iOS 7 及更高版本中,单元格分隔符不会一直延伸到表格视图的边缘。 此属性设置表格中所有单元格的默认插入,很像 rowHeight 设置单元格的默认高度。 它还用于管理在普通样式表底部绘制的“额外”分隔符。 有人知道如何使用这些在普通样式表底部绘制的“额外”分隔符吗? 因为这正是我需要的。 我认为将separatorInset分配给UITableView而不是UITableViewCell可以解决问题,但事实并非如此
  • JavaFX TableView 更改选定单元格颜色(JavaFX TableView change selected cell colour)
    问题 我有一个 JavaFX TableView 和一个 ListView,它们都使用自定义单元工厂。 特别是我重写了 updateItem 方法,以便根据单元格值绑定特定的 CSS 类。 这是我的 CSS 文件的一部分: .tissueCell { -fx-text-fill: #F5AD11; } .tissueCell:selected { -fx-background-color: #F5AD11; -fx-text-fill: white; } .significantDataCell { -fx-background-color: yellow; -fx-text-fill: black; } .significantDataCell:selected { -fx-background-color: white; -fx-text-fill: black; } 对于 ListView,一切都完美无缺:文本以正确的颜色显示,当单元格被选中时,文本变为白色,背景以正确的颜色填充。 我遇到了 TableView 的问题。 未选中时,单元格中的文本以所选颜色显示,但当单元格被选中时,背景将使用所选表格单元格背景的默认 JavaFX 颜色填充,并且文本颜色保持 #F5AD11(不会变为白色)。 使用 .importantDataCell 类的 TableCell
  • 隐藏 UITableview 单元格(Hide UITableview cell)
    问题 我正在尝试从 UITableView 隐藏单元格。 就像删除操作一样,但我只想隐藏它以便稍后在同一位置显示它。 我知道 UITableViewCell 有一个名为“Hidden”的属性,但是当我使用此属性隐藏 Cell 时,它会隐藏但没有动画,并且它们会留下一个空白区域 例子: 第一个单元格第二个单元格第三个单元格 有可能当我隐藏第二个单元格时,第三个单元格将位置更改为 2 吗? 谢谢 回答1 使用动画有效地“隐藏”一行而不实际删除它的一种方法是将其高度设置为零。 您可以通过覆盖-tableView:heightForRowAtIndexPath: 。 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { CGFloat height = 0.0; if (isRowHidden) { height = 0.0; } else { height = 44.0; } return height; } (当然,您只想为要隐藏的特定行或多行返回 0.0,而不是无条件地)。 简单地改变这个方法的返回值不会让 table view 自动调整行的高度,为了做到这一点,你可以进行以下调用。 isRowHidden = YES; [tableView
  • 将 UIButton 标题设置为选定的表格单元格(Set UIButton title to selected table cell)
    问题 单击不同的按钮时,我有一个UITableView加载不同的数组。 我想要的是将UIButton标题更新为选定的表格单元格。 例如:用户选择了表格第 4 行,其中包含文本“2013 年 4 月”。 该按钮将其标题更新为“2013 年 4 月”。 这是有效的。 现在,用户通过单击按钮(在 SAME 数组中加载新数据)在 TableView 之间切换。 带有名为“April 2013”​​的表第 4 行的UITableView使用相同的数组更新其字段,并且先前选择的字段仍然保留,但现在具有不同的数据。 然而 UIButton 标题仍然显示“April 2013”​​,我想更改它,以便在单击按钮并更改数组数据时,按钮标题也会更改。 DidSelectRowAtIndexPath: if([self.delegate respondsToSelector:@selector(dateSpecifiedButtonText:)]) { [self.delegate dateSpecifiedButtonText:selCell.textLabel.text]; } 视图控制器.m: - (void)dateSpecifiedButtonText:strText2 { [self.dateSpecifiedButton setTitle:strText2 forState
  • 选中后,可以在UITableViewCell上设置高度变化的动画吗?(Can you animate a height change on a UITableViewCell when selected?)
    问题 我在iPhone应用程序中使用的是UITableView ,并且有一个属于一组的人的列表。 我希望这样,以便当用户单击特定的人(从而选择单元格)时,该单元格的高度会增加,以显示用于编辑该人的属性的多个UI控件。 这可能吗? 回答1 我发现了一个非常简单的解决方案,这是我正在研究的UITableView的副作用..... 将像元高度存储在通常通过tableView: heightForRowAtIndexPath:来报告原始高度的变量中,然后在要对高度变化进行动画处理时,只需更改变量的值并调用它即可。 [tableView beginUpdates]; [tableView endUpdates]; 您会发现它并不会完全重载,但是足以让UITableView知道它必须重绘单元格,获取单元格的新高度值....,您猜怎么着? 它为您动画化变化。 甜的。 我的博客上有更详细的解释和完整的代码示例。Animate UITableView单元格高度变化 回答2 我喜欢西蒙·李的回答。 我实际上并没有尝试该方法,但看起来它将更改列表中所有单元格的大小。 我希望只更改被窃听的单元格。 我有点像西蒙(Simon),但有一点点不同。 选中它会改变单元格的外观。 而且它确实具有动画效果。 只是另一种方式。 创建一个int来保存当前所选单元格索引的值: int currentSelection
  • 在 UITableView 中保留一个占位符单元格(Keeping a placeholder cell in a UITableView)
    问题 我有一个 UITableView,我永远不想低于 1 个单元格:它是一个目录读数,如果目录中没有文件,它有一个单元格显示“无文件”。 (在编辑模式下,有一个用于创建文件的额外单元格,因此编辑模式永远不会低于两个单元格。) 可能只是睡眠不足使我现在无法从纸袋中思考出路,但我一直被这样的错误绊倒: *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid update: invalid number of sections. The number of sections contained in the table view after the update (2) must be equal to the number of sections contained in the table view before the update (2), plus or minus the number of sections inserted or deleted (1 inserted, 0 deleted).' 这是因为我在删除最后一个文件之前抢先添加了“无文件”占位符。 如果我在添加占位符之前删除最后一个文件单元格,则会发生类似的崩溃。
  • 推荐 Word、EXCEL必备工具箱
    EXCEL必备工具箱: EXCEL必备工具箱是一个同时支持EXCEL/WPS插件,自带免费多标签(类似于OfficeTab),安装后就可以使用,与excel/wps完全溶为一体,绝大部分操作执行后可撤销。完美支持32位/64位OFFICE,以及2014年11月抢先版及更高版本的WPS! EXCEL必备工具箱智能识别当前是32/64位的EXCEL还是WPS,自动屏蔽WPS已有功能,额外增加WPS专用功能! 提供了密码去除、阴阳历转换、将选区存储为图片、工作表排序及生成目录、人工双面打印、专业水准的套表数据汇总、穿透查询等众多实用功能。工作表标签上点击右键还增加了轻松隐藏/取消隐藏工作表、工作表导出为文件功能。针对财务人员,还提供了个人所得税、未确认融资费用、按揭贷款/一般贷款利息、各种复利、实际利率法摊销等计算功能。此外,还提供了自动生成分析文档、财务比例计算等模版,来简化你的日常工作。 详细参照: http://www.ahzll.top/ 下载地址: 官网:http://www.ahzll.top/ http://blog.sina.com.cn/s/blog_5488e3a90100u8ux.html 备用: http://www.onlinedown.net/soft/48647.htm https://www.crsky.com/soft/137451.html
  • 可见性:隐藏表格单元格隐藏父表格行的背景颜色(visiblity:hidden of table-cell hides background-color of parent table-row)
    问题 我有一些使用display:table-row和display: table-cell构建的表单。 在 Firefox 52 上,我可以使用visibility:hidden单元格元素,隐藏单元格但保留由 CSS 定义的结构(而不​​是使用display:none )。 虽然在 Firefox 64(以及 chrome)上,当我隐藏单元格的可见性时,父表格行在该位置失去其背景颜色。 这是显示问题的片段: #tableRow{ display: table-row; background-color: #f5f5f5; } .cell{ display:table-cell; } #hide{ visibility:hidden; } <div id="tableRow"> <a href="#" class="cell">Visible</a> <a href"#" class="cell"id="hide">Not visible</a> <a href="#" class="cell">Visible</a> </div> 我尝试使用opacity: 0但有些元素是可点击的或有不同的事件,0 的 opacity 无济于事。 有什么想法吗? 这是故意的吗? 回答1 我会考虑 box-shadow 来模拟背景着色并避免这个错误* .container { display
  • jQuery仅突出显示表中的选定列(jQuery highlighting selected columns only in a table)
    问题 我看到此文章突出显示了偶数列,但是我可以仅突出显示选定的列吗? 这是他们使用的代码: $("table.Table22 > tbody > tr > td:nth-child(even)").css("background","blue"); 但是我想:注意: class="highlight"将在选定的列上,因此,如果我选择了第3列,则class="highlight"将从第2列中删除并添加到第3列。jQuery需要添加该类根据选定的列。 <table class="tbl"> <tr> <th class="firstColumn"> Cell 1:Heading </th> <th class="highlight"> Selected column so this should be highlighted </th> <th> Cell 3:Heading </th> <th> Cell 4:Heading </th> <th> Cell 5:Heading </th> </tr> <tr> <td> Cell 1:Row 1 </td> <td class="highlight"> Selected column so this should be highlighted </td> <td> Cell 3:Row 1 </td> <td> Cell 4:Row