我有一个UITableView,在某些情况下为空是合法的.因此,与其显示 应用程序的背景图片,我更喜欢在屏幕上打印一条友好的消息,例如:

此列表现在为空

做这件事最简单的方法是什么?

推荐答案

UITableView的backmentView属性是您的朋友.

viewDidLoad或您reloadData的任何地方,您应该确定您的表是否为空,并使用包含UILabel的UIView更新UITableView的backmentView属性,或者直接将其设置为空.就这样.

当然,也可以使UITableView的数据源执行双重任务,并返回一个特殊的"list is null"单元格,这在我看来简直是一件乱七八糟的事情.突然之间,numberOfRowsInSection:(NSInteger)section必须计算它没有被要求的其他部分的行数,以确保它们也是空的.您还需要制作一个包含空消息的特殊单元格.另外,不要忘记,您可能需要更改单元格的高度以容纳空消息.这一切都是可行的,但看起来就像是创可贴上的创可贴.

Ios相关问答推荐

Nomb iOS 17.4.0中崩溃

如何在SwiftUI ScrollView中zoom 中心项目?

DriverKit驱动程序中可能存在IOBufferMemoyDescriptor泄漏

AVFoundation Camera推出变焦SWIFT

无法添加以供审阅-Xcode 15.0.1

Swift-如何通过Case Let访问模型变量

SwiftUI-工作表不显示导航标题

如何使用 SwiftData 从列表中删除子项目?

为什么@FetchRequest 在删除时不更新和重绘视图?

如何在 SwiftUI 中对表格行使用 Transferable

如何在Collection 后更改并保留按钮 colored颜色 ,然后在 SwiftUI 中切换回来?

为什么我不能让 passthrough 科目为 combine 工作?

TextField 重复输入 SwiftUI

界面生成器 - 无法从路径加载设计对象(空)

iPhone iOS 无法正确显示 box-shadow

无法将NSTaggedPointerString类型的值转换为NSNumber

在 Swift 中追加字符串

Xcode:此时无法安装此应用程序.

如何在 iOS 中获取正在运行的应用程序的名称

在 iOS 上没有显示数字键盘