gpt4 book ai didi

ios - Swift XCode - Storyboard 中的更改未反射(reflect)在 iPhone 模拟器中

转载 作者:行者123 更新时间:2023-11-28 07:02:05 24 4
gpt4 key购买 nike

我正在尝试制作一个简单的 UITableView,它在每个单元格的右侧附加了一个按钮。我将按钮添加到 Storyboard 中的原型(prototype)单元格并设置约束,以便 AutoLayout 接管并将其放在正确的位置。当我在 Assistant Editor 中预览布局时,一切看起来都很棒。但是,一旦我启动模拟器并转到该 View ,该按钮就不再存在(单元格为空白)。

当我尝试添加披露指示器但它没有显示时,我遇到了类似的问题 - 要修复它,我必须以编程方式添加该附件。 Storyboard的目的不是帮助在不使用代码的情况下进行更改吗?我在这方面还很陌生,希望得到一些指导。

编辑:请求的一些代码(抱歉):

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = UITableViewCell()

let addButton = UIButton()

let menuItem = currentOrder?.getSortedMenuItems()[indexPath.row]
let itemPrice = "\(currentOrder!.menu[menuItem!]!)"

cell.textLabel!.text = menuItem! + " - " + itemPrice
return cell
}

其中的大部分代码都非常无关紧要,但如您所见,我尝试添加一个按钮然后停止,因为我不确定从那里去哪里。我的印象是所有这些都可以使用 Storyboard来完成。

最佳答案

您遇到的问题是因为您没有使用在 Storyboard 中创建的单元格。当你打电话时

let cell = UITableViewCell()

它创建一个具有默认样式的单元格。您要做的是使用您在 Storyboard中创建的单元格。

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cellWithSwitch") as! UITableViewCell

// setup your cells (e.g. update its title)

return cell

您应该将“cellWithSwitch”更改为您在 Storyboard中为单元格设置的标识符。

您可以通过在 Storyboard中选择它然后在属性检查器中检查信息来找到您的单元格的标识符:

enter image description here

如果您还没有设置这个标识符 - 设置它然后使用它。然后您在 Storyboard中所做的更改将反射(reflect)在手机上;)

额外

通常需要对您的单元格进行子类化以使其更易于使用。这是一个例子:

class MyCell:UITableViewCell {

@IBOutlet var myButton: UIButton!

}

现在,您还必须做另外 3 件事:

1) 在 Storyboard中选择您的单元格,并在身份检查器中将其类设置为 MyCell(这是我发布的图像中的第三个选项卡)

2) 打开连接检查器(最后一个选项卡)并连接 myButton socket

3) 修改您的cellForRowAtIndexPathFunction:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cellWithSwitch") as! MyCell

// setup your cells (e.g. update its title)

// you can now access your button as cell.myButton

return cell
}

关于ios - Swift XCode - Storyboard 中的更改未反射(reflect)在 iPhone 模拟器中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31798143/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com