首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从Swift 3中的UITableViewCell引用当前的UINavigationController?

在Swift 3中,要从UITableViewCell引用当前的UINavigationController,可以通过以下步骤实现:

  1. 首先,确保你的UITableViewCell所在的ViewController已经嵌入到了UINavigationController中。如果没有,你可以通过在Storyboard中选择ViewController,然后选择Editor -> Embed In -> Navigation Controller来将其嵌入。
  2. 在你的UITableViewCell的代码中,可以使用以下方法来引用当前的UINavigationController:
代码语言:txt
复制
if let navigationController = self.window?.rootViewController as? UINavigationController {
    // 使用navigationController进行你想要的操作
}

这里假设你的UITableViewCell所在的窗口的根视图控制器是UINavigationController。如果不是,你可以根据实际情况进行调整。

  1. 一旦你获得了当前的UINavigationController的引用,你就可以使用它来执行各种操作,例如推入新的视图控制器、弹出视图控制器等。

需要注意的是,这种方法假设你的UITableViewCell是直接嵌入到UINavigationController中的。如果你的UITableViewCell是通过其他方式加载的,例如通过present方法或者在其他视图控制器中加载的,那么你可能需要使用其他方法来获取当前的UINavigationController的引用。

希望这个答案对你有帮助!如果你对其他问题有任何疑问,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

SIL 角度看 Swift值类型与引用类型

Swift 中,很多基础类型,如String,Int等等,都是使用Struct来定义。对于如何选择两者这个问题上,Apple 在一些官方文档中也给出了它们之间区别以及官方建议。...在需要控制建模数据恒等性时使用类。 将结构与协议搭配,通过共享实现来采用行为。 值类型 & 引用类型 那在 Swift 中,值类型与引用类型之间区别有哪些呢?...描述来看,我们得到最重要结论是使用值类型比使用引用类型更快,具体技术指标可查看why-choose-struct-over-class[5],还有一个测试项目StructVsClassPerformance...这也是本篇文章重点。其实对于绝大多数情况而言,这种说法都是没问题,但是总会有些特殊情况。 在阅读下文之前,我们先看一下,如何判断对象是在栈分配还是在堆分配。...) { ref = Ref(x) } var value: T { get { return ref.val } set { /// 判断当前对象是否只有一个引用

2.1K20

Swift| 基础语法(五)

前言 总结下 swift基础语法,里面涉及到:常量&变量、Swift数据类型、逻辑分支、循环、字符串相关、数组和字典、方法书写调用等内容,考虑到阅读体验分多篇来展示,希望对大家学习swift...Swift| 基础语法(一) Swift| 基础语法(二) Swift| 基础语法(三) Swift| 基础语法(四) Swift| 基础语法(五) 本文涉及: 纯代码创建应用根试图 UILabel...、UIButton、UIImageView使用 UITableView使用 UITableView使用 单例 相册选择照片或者拍照 ---- 一、纯代码创建应用根试图 func application...,选中是蓝色,下面修改成橙色: //图片文字一起变色 self.tabBar.tintColor = UIColor.orangeColor() 如何显示原始图片颜色和图案?...因为在Swift中,所有对象构造器默认都是public,所以需要重写你init让其成为私有的。 这样就保证像如下代码编译报错,不能通过。 六、相册选择照片或者拍照 ?

2K30
  • Swift封装-滑出式导航栏

    IBAction func actorsTapped(_ sender: Any) { //左边点击事件 } } DWStarCell代码: class DWStarCell: UITableViewCell...} 创建DWStar.swift模型,并且初始化cell显示数据,代码如下: //结构体 struct DWStar { let title: String let creator:...@objc optional func collapseSidePanels() //折叠侧边容器 } 在DWCenterViewController.swiftactorsTapped点击方法调用协议方法...func didSelectAnimal(_ animal: DWStar) //选择动物 } 在DWCenterViewController.swift实现DWSidePanelViewControllerDelegate...如果它应该展开,那么它将设置当前状态以指示左侧面板展开,然后为中央面板设置动画,以便打开。否则,它将关闭中央面板,然后移除其视图,并设置当前状态以指示其关闭。

    2.3K80

    抓住iOS未来 - 30天学习编写30个Swift小程序

    Setting,找到Objective-C Bridge Header,输入Bridge.h路径 - 之后所有需要在swift文件中引用OC文件头文件放到Bridge.h中进行import...如何做到app在后台长期运行:参考简书文章 如何显示锁屏信息,以及如何响应锁屏设置(实现remoteControlReceived代理方法) Project 5 - Pull To Refresh...Item 通过TextViewtextViewDidChange事件捕捉当前输入内容,从而进行限制输入字数 通过监听NSNotification.Name.UIKeyboardWillChangeFrame...这也回答了别人问过我问题,“如果我现在学iOS开发,是应该学OC还是Swift”: 我觉得iOS SDK熟悉角度来说,没有本质区别,如果熟悉OC下对应语法去使用Swift写没有太大区别。...image.png 下一步,我打算再重新梳理下Swift语法,对这些项目进行小规模重构,结构上去看看能否挖掘到Swift特性,另一个角度(目前是功能角度)来学习Swift

    2.5K20

    Swift 类构造器使用

    复制代码 Must call a designated initializer of the superclass 'UITableViewCell' 必须调用一个 UITableViewCell 指定构造器...构造器在第一阶段构造完成之前, 不能调用任何实例方法, 不能读取任何实例属性值,self 不能被引用. 接下来我们来说明一下类构造两个阶段: 阶段 1 某个指定构造器或便利构造器被调用....阶段 2 顶部构造器链一直向下, 每个构造器链中类指定构造器都有机会进一步定制实例. 构造器此时可以访问 self, 修改它属性并调用实例方法等等。...: nil) 并没有被当前类 TableViewCell 继承, 所以当前类中是没有 init(style: .Default, reuseIdentifier: nil) 指定构造器....构造器在第一阶段构造完成之前, 不能调用任何实例方法, 不能读取任何实例属性值,self 不能被引用. 继承相关 如果子类没有定义任何指定构造器, 那么会默认继承所有来自父类指定构造器.

    1.7K20

    自学Swift之路(二)UITableView自定义和实际利用

    6EDD4AC9-47E3-401F-91A4-2DA836439787.png Demo开始之前,我们想想应该会使用到屏幕宽高等一些常用值,在OC中,咱们可以使用PCH然后宏定义,然而在Swift中...另外,在上面的界面截图中,我们发现用到了navigationController,这个demo中我自定义了它(从上面截图也能看出来): class BaseNavigationController: UINavigationController...ImageView和一个Label,虽然数据是死,但是在Swift中,另外一个类是可以直接访问另一个类中变量(如果没做任何保护的话),所以我们在配置cell时候是可以直接赋值,这里就不弄了,然后我们看创建表视图那一块...学了这么几天,我发现Swift还是比较容易入手,下篇文章我会用一个小项目,本人是做室内地图SDK,这次小项目是仿我OC写SDK Demo,使用Swift和OC混编,集成百度地图SDK和自己室内...在下篇文章中会讲讲,Swift项目已上github:https://github.com/qingmomo/Swift-die OC版demo在我们官网:http://www.innsmap.com

    2.3K90

    【IOS开发基础系列】Storyboard专题

    如果是使用IB ,在 MainWindow.xib中会有应用程序委托一个引用,同时你可以将顶层ViewController 连接到应用程序委托IBOutlet 属性。但现在使用故事板就不可能了。...在顶层ViewController 中不能再引用应用程序委托。这真是个不幸,我们只能通过代码方式获得引用。...initial view controller 是一个TabBarController,所以我们可以 window 对象 rootViewController 获得它一个引用并进行类型转换。         ...PlayersViewController 位于第一个tab NavigationController 容器中,因此我们先获得UINavigationController 对象: UINavigationController...4.2 代码实例化故事板中VC 如何装载Storyboard中ViewController?

    1.1K30

    Swift 中 key paths 能力

    这周,就让我们来看看KeyPath是如何Swift中工作,并且有哪些非常酷非常有用事情可以让我们去做。 基础 key paths 基本上让我们将任何实例属性引用为单独值。...通过以上扩展,我们现在能够使用一个非常好和简单语法来任何序列中每个元素中提取单个值,使得可以之前转换我们示例: let articleIDs = articles.map(\.id) let...转化为函数 目前为止,我们仅仅使用关键路径来读取值 - 现在让我们看看我们如何使用它们来动态写值。...在接下来文章中,我们将介绍函数式编程和组合函数。 总结 首先,看起来如何以及何时去使用swift关键路径这样功能有点困难,并且很容易将它们看做是简单语法糖。...Swift by Sundell 译自 John Sundell The power of key paths in Swift

    2.5K20

    Swift 中 key paths 能力

    值得庆幸是,Swift 不断获取越来越多更具动态性功能,同时还一直把它关注点放在代码类型安全上。其中一个特性就是 KeyPath。...这周,就让我们来看看 KeyPath 是如何Swift 中工作,并且有哪些非常酷非常有用事情可以让我们去做。 基础 key paths 基本上让我们将任何实例属性引用为单独值。...通过以上扩展,我们现在能够使用一个非常好和简单语法来任何序列中每个元素中提取单个值,使得可以之前转换我们示例: let articleIDs = articles.map(\.id) let...转化为函数 目前为止,我们仅仅使用关键路径来读取值 - 现在让我们看看我们如何使用它们来动态写值。...在接下来文章中,我们将介绍函数式编程和组合函数。 总结 首先,看起来如何以及何时去使用 swift 关键路径这样功能有点困难,并且很容易将它们看做是简单语法糖。

    1.6K10

    一起聊聊 Swift 3.0

    API大家都知道是应用程序接口 API只是提供函数签名 而ABI是系统和语言层面的 如果ABI稳定 意味着以后Swift版本更新升级 我们不需要再修改老版本 Swift 语言编译库了 如果你曾经...可移植性 Swift可被移植到其他平台上 4. 全面支持泛型特性 Swift 2.2已经很好支持泛型 但是还不够完善 Swift 3.0开始 将全面支持泛型所有特性 5....聚焦和完善 尽管是一个相对年轻语言,但是Swift快速发展已经积累了一定语言功能 Swift 3.0将会会删除或改善这些功能 从而提供更好整体一致性 6....之前我们引用default和repeat成员时 需要这样写: let cell = UITableViewCell(style: ....`repeat` Swift3.0时 允许我们直接访问default repeat 关键字成员 let cell = UITableViewCell(style: .default, reuseIdentifier

    45810

    ios仿斗鱼界面

    全民直播,一下子掀起了直播技术潮,今天要聊聊如何实现一个ios直播app。 首先来看最终效果: ?...最近也是因为入门swift不久,在网上找了一个项目就开始模仿,本项目用到第三方库: Alamofire Kingfisher Swift3.0蝶变 swift3.0相对于2.x,渐渐脱离了oc和c...全面支持泛型特性 Swift 2.2已经很好支持泛型 但是还不够完善,Swift 3.0开始 将全面支持泛型所有特性。...新API设计规范 Swift3.0 发布了新语言设计规范 其中在Swift3.0中标准库和核心库将会遵循这个设计规范。...(Default, Private, Repeat)关键字成员 在Swift3.0之前我们引用default和repeat成员时 需要这样写: let cell = UITableViewCell(style

    89890

    你可能需要为你 APP 适配 iOS 11

    ;iOS 11 新增属性 UINavigationController和滚动交互 滚动时候,以下交互操作都是由UINavigationController负责调动: UIsearchController...集成、大标题控制更新和Rubber banding效果,因为这些都是由UINavigationController控制。...iOS11开始,这些不再是一个固定值,它们实际是最小值,你可以改变你viewlayoutMargins为任意一个更大值。...是个估算值,是通过estimatedRowHeight x cell个数得到,并不是最终contenSize,tableView就不会一次性计算所有的cell高度了,只会计算当前屏幕能够显示cell...这个类只能定义按钮显示文字、背景色、和按钮事件。并且返回数组第一个元素在UITableViewCell最右侧显示,最后一个元素在最左侧显示。

    1.7K60
    领券