- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想将 TableView 用于主详细信息应用程序的详细信息部分。我从 Xcode 中的标准 Master Detail 项目开始,删除了它附带的标准应用程序,删除了标准 UIView 细节 Controller ,添加了 TableView Controller ,向原型(prototype)单元添加了一个 TextView 进行测试,并创建了一个新的 segue新的 TableView 。我对 UITableViewCell 进行了子类化,并创建了一个从 TextView 到子类 (TableViewCell) 的导出 (detailTextView)。将 DetailViewController.swift 中的类从 UIViewController 更改为 UITableViewController。我成功地将字符串 stringForTextView = "String for TextView"
从 master 传递到细节。但我不知道如何在 TextView 中显示该字符串。我尝试通过 socket (detailTextView.text
)引用详细 View 中的 TextView 文本,但得到“使用未解析的标识符detailTextView”
任何帮助将不胜感激。
相关代码如下所示。
如果有帮助,您还可以在此处下载整个项目: http://greendept.com/MasterDetailTwoTableViews/
TableViewCell.swift(原型(prototype)单元的子类详细信息)
import UIKit
class TableViewCell: UITableViewCell {
@IBOutlet weak var detailTextView: UITextView!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
}
DetailViewController.swift
import UIKit
class DetailViewController: UITableViewController {
var stringForTextView : String?
var detailItem: AnyObject? {
didSet {
// Update the view.
self.configureView()
}
}
func configureView() {
// THE NEXT TWO LINES WORK: PASSED IN STRING PRINTS TO CONSOLE
let printThis = stringForTextView! as String
print("\(printThis)")
// BUT THE REFERENCE TO THE OUTLET BELOW DOES NOT WORK, GIVES
// "Use of unresolved identifier detailTextView"
detailTextView.text = printThis
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.configureView()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
MasterViewController.swift
import UIKit
class MasterViewController: UITableViewController {
var detailViewController: DetailViewController? = nil
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
if let split = self.splitViewController {
let controllers = split.viewControllers
self.detailViewController = (controllers[controllers.count-1] as! UINavigationController).topViewController as? DetailViewController
}
}
override func viewWillAppear(animated: Bool) {
self.clearsSelectionOnViewWillAppear = self.splitViewController!.collapsed
super.viewWillAppear(animated)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// MARK: - Segues
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "showDetail" {
if let indexPath = self.tableView.indexPathForSelectedRow {
let controller = (segue.destinationViewController as! UINavigationController).topViewController as! DetailViewController
controller.stringForTextView = "String for TextView"
controller.navigationItem.leftBarButtonItem = self.splitViewController?.displayModeButtonItem()
controller.navigationItem.leftItemsSupplementBackButton = true
}
}
}
// MARK: - Table View
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)
return cell
}
override func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool {
// Return false if you do not want the specified item to be editable.
return true
}
}
最佳答案
DetailViewController
是一个UITableViewController
,你无法访问tableView Controller 中的detailTextView
。您在单元格中定义了导出,您可以在其中访问和配置 detailTextView
。
如果您真正想要的是在那里配置 TextView ,那么将 DetailViewController
作为 UITableViewController
没有任何意义。然后,您应该将其设置回 UIViewController
,并将 TextView 作为单个 UITextView
添加到 View Controller View 。
关于ios - 详细使用UITableView,如何在TextView中显示字符串(Master-Detail项目,Swift,iOS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38428841/
这是我的代码。 1 Demo 1 2 Demo 2 3 Demo 3 我想做的是——如果任何一个的细节标签已打开,我打开/查看另一个 标签,那么较早的标签应该关闭/
我正在尝试构建一个 iPad Master-Detail 应用程序。主视图只是一个 TableViewController。我想为用户在主视图中点击的每个不同单元格更改完整的详细信息 View 。其中
我目前在我的子主题的 functions.php 文件中有一些代码,它应该在我的 WooCommerce 结帐页面上将“账单详细信息”更改为“运输详细信息”。 但是,当我更新到 WooCommerce
我想刷新 MasterDetail 项目中的详细信息页面。 (在模态 Controller 中进行编辑后应刷新详细信息。)我知道将代码块放在详细信息页面中的何处以强制刷新。我只是不知道要使用什么代码来
我的应用程序中有一个主从模式,但我希望细节能够切换 View 。我想尽可能多地节省空间,以便“内容”既漂亮又宽敞。 如何从一个“细节”导航到另一个“细节”,同时让“向上”按钮返回“主”列表?(参见“细
在过去,我有一个包含这样一个表的数据库: ProductID | ProductName | InStockWareHouse1 | InstockWareHouse2 ---------------
boost::details::pool::pthread_mutex 和 boost::details::pool::null_mutex 有什么区别。 我看到在最新的 boost 版本 - 1.4
我只获取数据源的详细信息,但没有获取 google fit 消耗的卡路里。如何获得燃烧卡路里的详细信息。我可以从( Google Fitness API returns only {} as resu
我刚刚在 Xcode 5 中创建了一个新的“Master-Detail application”项目。 然后在我的主视图 Controller 上,我将 TableView 更改为静态,并添加了一些项
我试图在“me”/me 部分下命名多个路由,以便在此命名空间下拥有所有基于用户配置文件/帐户的内容,以实现更干净的路由。 解决这个问题的最佳方法是什么?我发现重写默认的 REST 路由(profile
所以我是 Android 开发的新手,并试图了解主/细节流程设计。因此,我使用 Eclipse 为您创建的默认类 - 因此 ScreenDetailActivity、ScreenDetailFragm
我使用 var contacts:[details] 编写代码? = nil 我遇到了无法访问 contacts?.count 的问题,我不得不在任何地方使用可选值。例如 contacts[index
我已经成功地将 www.my-website/blog.php 重写为 www.my-website/blog 现在,我想对我的 blog-detail.php 页面做进一步的事情 从 www.my-
在问这个问题之前,我想说 this stackoverflow 中的问题与我的问题非常相似,但概念仍然不清楚,非常困惑。 我想了解依赖倒置原则,但我无法完全理解它? 下面是DIP说的两点 A. Hig
我是 SYCL/OpenCL/GPGPU 的新手。我正在尝试构建和运行常量加法程序的示例代码, #include #include #include #include namespace sy
我正在使用这个 Ray Wenderlich tutorial作为我正在从事的项目的指南。但是,我正在尝试扩展此模板以合并子目录、子子目录、子子子目录等。 例如,如果您单击主/主目录屏幕中的“Cand
我正在尝试创建一个小扩展,以便我可以从详细 View Controller 访问主视图 Controller 以更新变量。 import UIKit extension UISplitViewCont
我正在尝试基于由 MySQL 数据库支持的 Entity Framework 6 DbContext 实现基本的主从 View 。表格配置尽可能简单: 我的测试应用程序的表单包含两个 ComboBox
我知道这是一个老问题并且已经answered在 objective-c 中。但我正在寻找 Swift 中的解决方案。我在 AppDelegate 中的 splitviewController 代码如下
我的句子很少。在第一句话的结尾(在这一行),我想添加剧透,这将保留故事的其他部分。我正在尝试这样做,但是当单击更多时.. - 我的文本跳到下一行。我需要在一行中继续文本更多...请不要告诉我任何脚本,
我是一名优秀的程序员,十分优秀!