在pushViewController之前设置视图控制器属性

2024-07-01

在我的应用程序中,我向视图添加了标签,将其连接到插座,但当我第一次从另一个视图控制器分配此插座然后调用时,什么也没有显示pushViewController来显示它。这是推送下一个显示标签的视图之前的代码:

CustomViewController *vc = [[CustomViewController alloc] init];
vc.lbl_price.text = self.label_price.text; // lbl_price is defined as a property in CustomViewController and label_price is defined in current view controller
[self.navigationController pushViewController:vc];

In the CustomViewController viewDidLoad方法我添加了这条指令来看看它是否应该工作

NSLog(@"Price=%@",lbl_price); // it actually prints out what was previously assigned

但它没有显示在标签中!

知道为什么吗?

Stephane


即使创建了视图控制器,它的视图层次结构也可能不会(因此所有子视图仍然为零),出于优化原因,在您尝试实际访问控制器的视图之前,它可能不会被加载。您有两种选择来解决您的问题:

  1. 将所有值存储在单独的非 UI 变量中,并将它们分配给带有控制器的 UI 组件,即将出现:

    // Before push controller
    vc.myPriceText = self.label_price.text;
    
    // In controller's viewWillAppear:
    self.lbl_price.text = self.myPriceText;
    
  2. 调用 [vc view] 来强制控制器加载其视图层次结构:

     CustomViewController *vc = [[CustomViewController alloc] init];
     [vc view];
     vc.lbl_price.text = self.label_price.text; 
     [self.navigationController pushViewController:vc];
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在pushViewController之前设置视图控制器属性 的相关文章

  • 连接到进程后 Xcode 控制台为空[重复]

    这个问题在这里已经有答案了 我在 iPhone 上构建了一个应用程序 退出它 再次启动它 然后成功附加到 Xcode 中的进程 现在我在日志导航器中运行了调试 但我的控制台是空的 我不应该在那里看到所有常用的控制台输出吗 您可以在设备日志中
  • 如何在表格视图中对图像进行动画处理以同时扩展和打开另一个视图控制器?

    我正在制作一个消息应用程序 我希望用户单击我的表格视图中的图像 它应该扩展到全屏并在导航栏上显示不同的控件 我该怎么办 我想我可以拍摄相同的图像 将 UIImageView 放在原始单元格图像之上并将其动画化为全屏 但是我如何在没有闪烁 延
  • 为什么纹理坐标 1.0 超出了纹理边缘?

    我正在使用纹理进行颜色查找以将效果应用于图片 我的查找是使用第一个纹理片段的亮度的渐变图 然后在第二个纹理上查找 第二个纹理为 256x256 具有水平渐变和从上到下的几个不同渐变 总共 32 条水平条纹 每条高 8 像素 我在 x 上查找
  • WiFiManager - 绊脚石

    我尝试使用 iphone os 2 0 和 3 0 使用 stumbler 获取 ssid 但出现错误 发现缺少一些框架 谁能告诉我如何恢复 我发现 StackOverflow 上有一篇文章提到 PrivateFrameworks Appl
  • 使用 xctool / xcodebuild 与 XCode Archive 的成功相比出现错误 ITMS-90046

    我有一个命令行脚本 用于编译 存档并将我的 ios 版本提交给 ITC 以进行 TestFlight 部署 它们工作得很好 但我最近在尝试在我的其他工作项目中使用嵌入式框架时遇到了一个问题 我的脚本成功编译并存档了项目 但由于嵌入的二进制冲
  • 在 App Store 上发布应用程序后,iAd 未在设备上显示

    检查了有关在 App Store 上发布应用程序后不显示 iAd 的几个问题 对 iAd 进行所有必要的设置 测试广告在模拟器和设备中显示良好 然后发布应用程序并为该应用程序启用 iAd 网络 在iAd Network部分 状态显示为 Li
  • 应用程序挂在 __psynch_mutexwait

    我们的应用程序似乎半随机地挂在 psynch mutexwait 处 它似乎与更新 CoreData 中存储的一堆数据的后台进程有关 但我完全无法弄清楚是谁锁定了导致死锁的原因 以下是 lldb 给我的完整堆栈跟踪 这显然是不完整的 并且线
  • 自定义 iOS 推送通知声音

    我一直面临一个问题 我在 iOS 中使用自定义声音实现了推送通知 它是一个 MP3 文件 当我在 iOS 5 中收到推送通知时它播放得很好 但在 iOS4 中 它不播放任何声音 你能帮我解决这个问题吗 代码是这样的 aps badge 10
  • 当应用程序离开后台并在 iOS 和 Android 中返回时,WebView 正在重新加载?

    我有一个小应用程序 它仅包含一个网络视图 我正在使用 url 加载网络视图 但是当我的应用程序进入后台并返回时 网络视图正在重新加载 对我来说 这不应该发生 在 iOS 和 Android 中 当应用程序进入后台时 如何停止 webview
  • 应用内购买仍在等待审核

    当我们开发新版本的应用程序时 我们提交了一些应用内购买的新版本 这些内容与旧版本相同 但属于消耗品 因此您可以多次购买 并且还支持折扣 它们被返回的原因是 请与二进制文件一起提交 因此 我们在上传新应用程序版本的二进制文件后再次提交了它们
  • UIProgressView 没有更新?

    我已经开始在 iOS5 中使用 UIProgressView 但还没有真正使用它 我在更新视图时遇到问题 每次更新进度后 我都有一组连续的操作 问题是 进度视图不是一点一点更新的 而是在全部完成之后才更新 事情是这样的 float cnt
  • 如何使用 Swift 3 使用后台任务?

    我是后台任务的新手 我有一个小工作 我正在获取推文 如果我的应用程序处于后台模式 那么它也应该获取推文 但我不知道如何 我在 Appdelegate didFinishLaunchOption 方法中使用简单的计时器 当我关闭该应用程序时
  • 更改文本后无法更改 UISearchBar 取消按钮标题颜色。

    我使用此代码来更改 UISearchBar 取消按钮标题 void searchDisplayControllerWillBeginSearch UISearchDisplayController controller self searc
  • AVAudioSequencer 导致 Deinit/Segue 崩溃:“所需条件为 false:outputNode”

    每当对象被取消初始化时 例如 当执行展开转回到另一个 ViewController 时 以下代码会导致崩溃并出现以下错误 所需条件为 false AVAudioEngineGraph mm 4474 GetDefaultMusicDevic
  • 如何使用应用程序加载器将我的应用程序提交到应用程序商店?

    如何使用应用程序加载器将我的应用程序发布到 iOS 应用程序商店 我不知道如何让应用程序加载器找到该文件 请告诉我简单的步骤 谢谢 按着这些次序 在 XCode 中 转到Product gt Archive Click the Distri
  • 斯威夫特 NSNotificationCenter?

    我正在尝试让 UITextViewTextDidChangeNotification 正常工作 我是 NSNotificationCenter 的新手 所以我很难理解到底发生了什么 我在故事板中有一个 UITextView 我在 ViewC
  • Swift - 将 HTML 文本转换为属性字符串

    在我的一个模块中 我想使用 UILabel 将多语言 HTML 文本 英语和泰米尔语 显示为 NSAttributedString 如果文本是纯英文 我可以按照我的愿望显示它 但我的内容同时包含英语和泰米尔语字符 我该如何处理这种情况 如果
  • UItableViewCells 中的单选按钮逻辑

    嘿 我正在一个屏幕上工作 用户有选项组 例如 饮料 这是我的 tableView 中的部分标题 他们的选择是 7up 可乐 等 它们是我表格的单元格 现在 每个选项组选项 按顺序排列的每个单元格 都有一个单选按钮 我想实现这个 如果用户选择
  • 只需用矩形掩盖 UIView

    我想知道如何简单地屏蔽任何类型的 UIView 的可见区域 到目前为止 我读过的所有答案 教程都描述了使用图像 渐变或创建圆角进行遮罩 这比我所追求的要先进得多 示例 我有一个边界为 0 0 100 100 的 UIView 我想使用蒙版切
  • 下拉即可显示视图

    I have UITableView 我想添加一个UITextField位于tableView之上 可以通过向下拉tableView来访问它 我想通过拉起 tableView 来隐藏我的 textField 我怎样才能做到这一点 这是我尝试

随机推荐