iOS11中另类自定义UITableViewCell删除按钮的外观

iOS11中另类自定义UITableViewCell删除按钮的外观,第1张

概述iOS不同版本中对于TableView行的删除按钮的实现内部是不一样的,甚至传说不同Xcode版本编译出来的App里也是不一样的: iOS 8-10: UITableView -> UITableViewCell -> UITableViewCellDeleteConfirmationView -> _UITableViewCellActionButtoniOS 11 (Xcode 8编译):

iOS不同版本中对于tableVIEw行的删除按钮的实现内部是不一样的,甚至传说不同Xcode版本编译出来的App里也是不一样的:

iOS 8-10: UItableVIEw -> UItableVIEwCell -> UItableVIEwCellDeleteConfirmationVIEw -> _UItableVIEwCellActionbuttoniOS 11 (Xcode 8编译): UItableVIEw -> UItableVIEwWrapperVIEw -> UISwipeActionPullVIEw -> UISwipeActionStandardbuttoniOS 11 (Xcode 9编译): UItableVIEw -> UISwipeActionPullVIEw -> UISwipeActionStandardbutton原链接:https://www.jianshu.com/p/779f36c21632

我没有尝试在Xcode 8里编译iOS11的App,不过对于iOS旧版本和Xcode 9.3下的iOS11来说,作者说的是正确的.

我们知道修改删除按钮一般无外乎更换下背景,字体等东东,不过这里我们索性变得尺度更大一点.

以下开发环境为Xcode 9.3 + iOS 11

因为tableVIEw行高度较大,所以如果删除按钮不做调整就会非常丑:

So我们需要把它变得很好看一些,于是我们首先需要锁定删除按钮的位置.注意,我们不能用以下的方法:

- (nullable UISwipeActionsConfiguration *)tableVIEw:(UItableVIEw *)tableVIEw leadingSwipeActionsConfigurationForRowAtIndexPath:(NSIndexPath *)indexPath - (nullable UISwipeActionsConfiguration *)tableVIEw:(UItableVIEw *)tableVIEw trailingSwipeActionsConfigurationForRowAtIndexPath:(NSIndexPath *)indexPath

因为它们达不到要求.

以下代码只是简单的示例,并不能作为产品代码来用,因为没有考虑其他条件:

overrIDe func layoutSubvIEws() {        super.layoutSubvIEws()        for subVIEw in subvIEws{            if subVIEw.isKind(of: NSClassFromString("UISwipeActionPullVIEw")!){                if subVIEw.frame.wIDth == 0 {isFixed = false;return}                if isFixed {return}                subVIEw.frame = subVIEw.frame.insetBy(dx: 0,dy: 85.5)                subVIEw.layer.cornerRadius = 74/2.0                subVIEw.layer.masksToBounds = true                subVIEw.layer.borderWIDth = 5.0                subVIEw.layer.bordercolor = UIcolor.black.withAlphaComponent(0.5).cgcolor                isFixed = true            }        }    }

如上所示,我们首先找到删除按钮本身,然后修改其位置,大小以及形状,运行App效果如下:

总结

以上是内存溢出为你收集整理的iOS11中另类自定义UITableViewCell删除按钮的外观全部内容,希望文章能够帮你解决iOS11中另类自定义UITableViewCell删除按钮的外观所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1074129.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存