【问题标题】:Replicating the Apple Contacts edit screen [closed]复制 Apple 联系人编辑屏幕 [关闭]
【发布时间】:2017-03-18 18:07:38
【问题描述】:
我想重新创建 Apple 联系人编辑屏幕。显然,最简单的方法是创建一个UITableView 并填写信息。但是,我可以使用一些指针来实现如何实现包含联系人图像的UITableView 的顶部。此图像出现在多个 UITableViewCells 的左侧,并跨越其中许多。
目前,我试图通过向UITableView 添加自定义标题视图并在视图左侧添加图像并在右侧添加UITextField 来实现这一点。但是我担心可能会有更多的“iOS方式”来解决这个问题。
我不打算将此屏幕用于联系人,因此如果有我可以在 Contacts Framework 中使用的特定方法或对象,它可能与我的用例无关。
如何使用 Apple 最佳实践来最好地实现这一目标?
所附图片显示了我要复制的内容。
【问题讨论】:
标签:
ios
iphone
swift
autolayout
storyboard
【解决方案1】:
您可以像这样以编程方式添加图像。
let image: UIImage = UIImage(named: "YourImageNameInAssets")!
let imgFrame: CGRect = CGRect(x: 0, y: 0, width: self.bounds.width, height: self.bounds.height)
imageView = UIImageView(frame: imgFrame)
view.addSubview(imageView)
更改 x 和 y 位置以将其放在屏幕上您喜欢的任何位置,并确保资产中的图像已经是您要放置的屏幕的正确大小和尺寸,否则您必须以编程方式调整大小也是。
另一种选择是制作一个 UIViewController,其中包含两个 UITableView 和一个 UIImageView。如果采用这种方法,可以在同一个函数中实现两个UITableView,只是根据tableviews标签或者restoreIdentifier给出不同的实现。
如果您只想要一个 UITableView 或位于 UITableViewController 内部,另一个选择是取消选中 tableViewCell 上的 clipViewToBounds、Cell 的 contentView 和 Image 本身。完成此操作后,将图像放在顶部单元格中,它将无缝溢出到其他单元格中。确保您还正确缩进了您想要看起来好像移到一边的单元格上的分隔符。