当前位置: 首页 > 面试题库 >

在Swift的UITableView单元格中添加开关

燕烨
2023-03-14
问题内容

如何UISwitch在Swift中的tableView单元中以编程方式嵌入?我就是那样做

let shareLocationSwitch = UISwitch()
cell.accessoryView = shareLocationSwitch

问题答案:

这是您可以UISwitchUITableView单元格上嵌入的方法。

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {        
                var cell = tableView.dequeueReusableCell(withIdentifier: "yourcellIdentifire", for: indexPath) as! YourCellClass

                       //here is programatically switch make to the table view 
                        let switchView = UISwitch(frame: .zero)
                        switchView.setOn(false, animated: true)
                        switchView.tag = indexPath.row // for detect which row switch Changed
                        switchView.addTarget(self, action: #selector(self.switchChanged(_:)), for: .valueChanged)
                        cell.accessoryView = switchView

               return cell
      }

这是切换调用贝克方法

func switchChanged(_ sender : UISwitch!){

      print("table row switch Changed \(sender.tag)")
      print("The switch is \(sender.isOn ? "ON" : "OFF")")
}

@LeoDabus Great! explanation

注意:如果您tableview可能有多个,section则应创建一个CustomCell子类UITableViewCell并配置您的accessoryView内部UITableViewCell
awakeFromNib方法而不是表视图cellForRowAt方法。当将可重用cell的队列释放出队列时,将其投射到您的CustomCell中这是@LeoDabus的示例



 类似资料:
  • 我正在用Xcode 10做。我在视图控制器中有一个表视图。 单元格的标签设置为前导、跟踪、顶部和底部,行为0 在ViewDidload()中,我添加了 但是当我点击Viewcontroller时,tableview没有加载正确的高度单元格(需要自动调整大小的单元格没有加载,不需要的单元格被调整大小) 然后我加上这段代码 代码只对最初的几个单元格运行良好,但是当我向下滚动更多的时候(我有大约超过10

  • 问题内容: 我正在一个有两个秒和两个秒的项目上,当用户按下按钮时,第一个中的数据应该进入,第二个中的数据进入第二个。我的问题是,我不知道每次用户按下按钮时都如何放置数据,我知道如何插入数据,但是据我所知,这种方法只能工作一次。那么,每当用户按下按钮时,我可以使用哪种方法来更新? 问题答案: 单击按钮时,使用和插入新单元格。 首先将数据追加到tableview数组中 然后更新表格并插入新行 这将插入

  • 可变长度的文本数据正在注入到表视图单元格标签中。为了正确调整每个单元格高度的大小,我在中实现了: 这估计高度为88.0像素,如果更大,应该会自动调整高度大小。它非常适用于尚未滚动到的单元格(因为在滚动到单元格时被调用),但不适用于最初在加载数据时在屏幕上呈现的单元格。 我尝试过重新加载数据(正如许多其他资源中建议的那样): 在这两个和,它没有帮助。我迷路了…有人知道如何渲染最初在屏幕上加载的单元格

  • 问题内容: 我一直在尝试在我的应用程序中实现一项功能,以便当用户在我的表格视图中点击一个单元格时,该单元格会向下扩展以显示注释。我在Objective- C中找到了很多这样的例子,但是我还没有找到Swift的例子。 我试图将其翻译为Swift: 但是,这似乎使应用程序崩溃了。 有任何想法吗? 编辑: 这是我的cellForRowAtIndexPath代码: 这是插座设置: 问题答案: if语句中的

  • 我目前正在尝试将放置在不同的位置,而不是视图控制器的顶部。说到这里,它试图在顶部添加标题来说明导航栏,但这不是必需的,因为我的控制器顶部没有标题。 如果我把的左上角放在我想要的单元格位置,它不会把单元格放在那里: 现在,如果我只是向上移动表格视图,使单元格位于正确的位置,我会遇到另一个问题-滚动时单元格可以向上移动(这是用我的手指在导航控制器上方): 当我放手的时候,是的-单元格将在搜索栏的正下方

  • 问题内容: 我想扩大 行高 并显示其中的内容。我在想要的视图中显示我的内容,当我点击一个单元格时,它应该像下图所示那样展开,但无需重新加载UITableview。 到目前为止,我一直在尝试。 1)我尝试在内部扩大视图,但是没有用 2)我尝试添加rowAtIndex变得越来越复杂 3)我尝试更改更改行高并在索引处滚动,效果很好,但我不想那样做。(不好的事情,我必须重新加载表视图) 但是我得到了很多答