菜鸟教程小白 发表于 2022-12-13 03:52:42

ios - 在swift4中自定义滑动删除按钮


                                            <p><p>我已经自定义了滑动删除按钮,直到 swift3 。 <br/>
我已经在 swift3 中为 ios 9 尝试过这段代码 <br/></p>

<pre><code>func setSwipeDeletebutton(cell : UITableViewCell, BackView : UIView) {

    //Customize Delete button
    for subview in cell.subviews {
      subview.backgroundColor = UIColor.clear

      for sub in subview.subviews {

            if String(describing: sub).range(of: &#34;UITableViewCellActionButton&#34;) != nil {
                sub.backgroundColor = UIColor.white

                var newframe = sub.frame
                newframe.size.height = BackView.frame.size.height
                sub.frame = newframe

                sub.SetUpView()

                for view in sub.subviews {

                  if String(describing: view).range(of: &#34;UIButtonLabel&#34;) != nil {

                        if let label = view as? UILabel {

                            label.textColor = SharedInstance.hexStringToUIColor(hex: Color.TodayActivityColor.Type_LEAVE)

                        }
                  }
                }
            }
      }
    }
}
</code></pre>

<p>现在,作为 ios 11 的更改,我无法使用此代码自定义滑动删除按钮。 <br/>
我曾尝试将图像设置为滑动删除按钮,但设置不正确,因为我还想要该删除按钮的阴影。<br/>
谁能建议我如何使用 swift4 自定义滑动删除按钮?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您正在使用以下方式访问 subview :</p>

<p><code>String(描述: sub).range(of: "UITableViewCellActionButton")</code></p>

<p>还有</p>

<p><code>String(描述:view).range(of: "UIButtonLabel")</code></p>

<p><em>苹果不建议这样做。</em></p>

<p>但是,要调试此问题,请在 TableView 行操作/抽屉打开时打开您的 View 层次结构。</p>

<p> <a href="/image/hxOiB.png" rel="noreferrer noopener nofollow"><img src="/image/hxOiB.png" alt="access view hierarchy debugging"/></a> </p>

<p>您应该在层次结构中看到要更改的 View 。 </p>

<p> <a href="/image/qXRDe.png" rel="noreferrer noopener nofollow"><img src="/image/qXRDe.png" alt="access view hierarchy for tableview"/></a> </p>

<p>然后根据需要更改您的字符串:</p>

<p><code>String(描述: sub).range(of: "UISwipeActionPullView")</code></p>

<p><code>UISwipeActionPullView</code> 可能不是你需要的,但概念是一样的。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 在swift4中自定义滑动删除按钮,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/48060910/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/48060910/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 在swift4中自定义滑动删除按钮