【发布时间】:2015-03-14 10:03:26
【问题描述】:
我想将自定义视图加载到静态 UITableViewCell 并将视图大小调整为 UITableViewCell 的水平边界。
我实现了加载,但我坚持调整大小。也许一些天才会帮助我:)
针对这个问题,我创建了一个示例项目,可以在这里查看:GitHub Repository of project
以下是我执行的步骤:
UITableView:
创建了单视图应用
在 StoryBoard 中删除了视图并将
TableViewController(TVC) 拖到 Storyboard 中。将其嵌入UINavigationController。- 创建了一个类“MasterTableViewController”(MTVC) 作为
UITableViewController的子类。 - 在身份检查员处将 TVC 与 MTVC 连接起来。
- 在属性检查器中将
UITableView内容设置为“静态单元格” -
UITableView有两个部分,每个部分都有一行。第一部分和第一行可以忽略。第二部分和第二行是从 nib 加载 uiview 的地方。 - 我从
UITableViewCell创建了一个 Outlet,将在其中加载视图。
UIView:
- 我使用
InterfaceBuilder创建了一个自定义视图作为笔尖FirstDetailView.xib(FDV)。 - 添加了一些标签和文本字段。设置建议的限制条件。
- 然后我从
UIViewFirstDetailView.swift创建了一个子类,在 Identity Inspector 上将它与笔尖上的 FDV 连接起来。 此时文本字段只有IBOutlet。
加载中:
- 以下代码显示了 MTVC,其中包含将视图加载到
UITableViewCell的代码:
导入UIKit
类 MasterTableViewController: UITableViewController {
@IBOutlet weak var detailCell: UITableViewCell!
override func viewDidLoad() {
super.viewDidLoad()
// loading customized tableViewCell
let nib = UINib(nibName: "FirstDetailView", bundle: nil)
let nibs = nib.instantiateWithOwner(self, options:nil)
let firstDetailView = nibs.first as? FirstDetailView
if let firstView = firstDetailView {
detailCell.contentView.addSubview(firstView)
}
}
当我点击播放时。视图将被加载到UITableViewCell。但是文本字段超出了视图范围。我该怎么做才能修复UIView 边界?
(行的垂直大小不是问题。抱歉,由于声誉太低,我无法发布图片。请参阅 github 上的示例项目)
更新或新问题 如果我在文本字段中写内容。如何访问它们或从 tableViews ViewController 获取内容?
【问题讨论】:
标签: ios uitableview swift uiview nib