gpt4 book ai didi

ios - 用户界面按钮 |即使在主线程中,setTitle 也会花费大量时间

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:01:00 25 4
gpt4 key购买 nike

我重新打开这个问题,因为我的最后一个被标记为重复,即使它实际上不是!这是同样的问题,但解决方案不适用于我的代码。我正在使用 swift 2。

所以我的问题是,正如标题所说:我在 tableViewCell 中有一个 UIButton,当我使用方法 « setTitle » 时,更新标题需要 10 到 60 秒。同时,我正在使用 « addTarget »,它立即生效。所以标题也应该更新。我的按钮在 Storyboard中设置为“自定义”。

加载 View 时,我正在运行以下代码:

/* viewDidLoad */

override func viewDidLoad() {
super.viewDidLoad()
boolAlready = false
findParticipation()
}

/* 查找参与*/

func findParticipation() {
// After server request response :
boolAlready = true
self.tableView.reloadData()
}

/* cellForRowAtIndexPath */

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
let cellActions = tableView.dequeueReusableCellWithIdentifier(informationsCellArray[indexPath.row], forIndexPath: indexPath) as ! eventDetailsAction

if boolAlready {
cellActions.foundParticipation
} else {

cellActions.btnParticipate.setTitle("...", forState: UIControlState.Normal)
cellActions.btnParticipate.addTarget(self, action: « deleteParticion", forControlEvents: .TouchUpInside)
}

/* 在我的自定义单元格中 */

func foundParticipation () {
self.btnParticipate.setTitle("Annuler", forState: UIControlState.Normal)
self.btnParticipate.addTarget(self, action: "deleteParticipation", forControlEvents: .TouchUpInside)
}

我在论坛上发现的一些无效的东西:

  1. 设置我的 settitle Action dispatch_async(dispatch_get_main_queue()) {}

  2. 为所有不同的 UIControlStates 设置标题

  3. 使用setAttributedTitle()

  4. 在 setTitle 之后使用 self.btnParticipate.setNeedsLayout()self.btnParticipate.layoutIfNeeded()

  5. 在 setTitle 之前禁用按钮并在 setTitle 之后启用它

  6. self.addSubview(self.btnParticipate)

  7. 更改 titleLabel.text

    中的标题
  8. 使用 cellActions.btnParticipate

  9. 在父 viewController 中完成之前所说的一切
  10. UIView.performWithoutAnimation {
    self.btnParticipate.setTitle("Annuler", forState: .Normal)
    }

我现在被困住了,找不到解决方案。

最佳答案

你可以尝试引用这个答案https://stackoverflow.com/a/29633647/4478037

确保您的按钮是“自定义”按钮而不是“系统”按钮。

关于ios - 用户界面按钮 |即使在主线程中,setTitle 也会花费大量时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36792976/

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