如何在 swift 中从 uitableview 转到 uitextview 并使用 nsattributedtext 属性
Posted
技术标签:
【中文标题】如何在 swift 中从 uitableview 转到 uitextview 并使用 nsattributedtext 属性【英文标题】:how to Segue to uitextview from uitableview in swift and use nsattributedtext property 【发布时间】:2016-04-07 18:05:20 【问题描述】:我正在使用 swift 语言开发一个 ios 应用程序,我想从 uitableview 的行转到 uitextview 以显示一些文本,我想使用 uitextview 的属性文本属性,但它不起作用。怎么做?
【问题讨论】:
转场将您从一个 UIViewController 带到另一个。您可以在 viewController 内有一个 UITableView,其中 viewController 是 tableView 的委托。听起来你没有正确描述你想要的东西。编辑您的问题以包含您在 didSelectRow 委托方法中的内容。还要用简单的语言描述您选择一行时想要发生的事情。您是离开并转到新页面还是该页面上的某些内容发生了变化? i am using static rows and when the row is selected it goes to a new view controller where I used a uitextview to show some text.I only wants to use attributes for that text to be displayed by programming由于每个不同行的文本都会发生变化,因此我无法将文本放置在情节提要的 uitextview 的文本属性中。 【参考方案1】:首先,你不能转到UITextView
;您只能转到另一个视图控制器。但也许你的意思是说你的 segue 转到一个带有 UITextView
的视图控制器。如果是这样,则将一个 segue 从您的表格视图单元格拖动到另一个视图控制器,并为该 segue 提供一个标识符。然后,在您的表格视图控制器中,实现:
func prepareForSegue(_ segue: UIStoryboardSegue, sender sender: AnyObject?)
if segue.identifier == "the-segue-id-that-you-put-in-your-storyboard"
// Cast your destination view controller to the specific type
if let destinationVC = segue.destination as? <your-view-controller-type>
destinationVC.textView.attributedText = <your-string>
【讨论】:
是的,你是对的,我想要同样的东西,但如果你告诉如何为你写的最后一行写属性字符串会更有帮助,因为我只能将 NSattributedstring 类型的字符串分配给destinationvc .textview.attributedText. 你应该问这很有趣,因为我有another *** answer that discusses just that... 我在destinationvc.textview.attributedText 行遇到错误。错误是“致命错误:在展开可选值时意外发现 nil”。 确保您的textView
的出口正确设置为故事板中的文本视图实例。
当我使用destinationvc.text = "something" 时它的设置正确,但是当我使用destinationvc.textview.text = "something" 时它会显示这个错误。以上是关于如何在 swift 中从 uitableview 转到 uitextview 并使用 nsattributedtext 属性的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift / iOS 中从 UITableView 中删除行并从 UserDefaults 中更新数组