iOS - AccessoryView 更改自定义分隔符的大小

标签 ios iphone swift xcode

我有一个分组的表格 View ,首先我想删除顶部和底部分隔符。我环顾四周,找到了一个对我来说非常有效的解决方案。这是通过将 UIView 添加到单元格的底部来充当分隔符。现在看起来棒极了。但我面临的问题是当我设置单元格的 AccessoryView 时,因为由于某种原因,当我选择单元格时,我的自定义分隔符会更改其宽度。这是问题的描述:

这是未选择时的情况

this is when not selected

这是选择时的情况:

enter image description here

请注意,自定义分隔符已经具有约束。

请问有什么建议吗?

编辑:

这是我设置accessoryView的方法:

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        tableView.deselectRow(at: indexPath, animated: true)
        if let cell = tableView.cellForRow(at: indexPath) as? TableViewCell {
            let label = UILabel()
            label.text = "x"
            label.sizeToFit()
            label.font = UIFont.systemFont(ofSize: 13, weight: .medium)
            if(cell.accessoryView == nil){
                cell.accessoryView = label
            }else{
                cell.accessoryView = nil
            }

        }
    }

就是这样,其他所有内容都只是一个带有行和部分的简单表格 View ,我还在 Storyboard中将分隔符设置为无。

编辑2:

这是分隔符约束: enter image description here

最佳答案

您需要更改尾随约束。向单元格添加尾随约束,而不是 ContentView。删除分隔符 View 上的尾随约束并添加约束,如图所示。 enter image description here

关于iOS - AccessoryView 更改自定义分隔符的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51060450/

相关文章:

ios - SKTextureAtlas如何preloadTextureAtlases : withCompletionHandler works?

ios - 如何在两点之间画一条线 objective-C

iphone - 如何隐藏导航栏中的两个右侧按钮之一

ios - 地理围栏警报/本地通知在触发时不会唤醒锁定的手机

swift - 将 RxSwift 计时器和间隔可观察量组合成一个带有完成的可观察量

ios - 为什么这些碰撞没有感觉? ( swift SpriteKit )

ios - UICollectionView 边界线不存在黑色背景

c# - 如何在 Xamarin.forms 中强制详细信息页面与 iPad 上的母版页一起右移

iphone - html/iphone - 尝试刷新页面时收到表单警报

ios - 在 Swift 中返回一个元组