- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 UIViewController
,它根据上下文显示不同:
UINavigationController
的第一个 Controller (无后导航栏)UINavigationController
的顶部 Controller (后导航栏)UISplitViewController
Controller 之一但我需要一个与默认图标不同的图标。为了避免每次都检查上下文并分配它,我想向 Controller 展示它的样子,并在需要时自行分配它。
这可能吗?如果是这样,我该怎么办?
最佳答案
您可以使用一些 UIViewController
属性来确定 View Controller 在 View Controller 层次结构中的位置。特别是这两个是 splitViewController
和 navigationController
。
splitViewController
返回 View Controller 层次结构中最近的 UISplitViewController
祖先。如果没有,则该属性为nil
。
navigationController
本质上与 splitViewController
相同。它返回 View Controller 层次结构中最近的 UINavigationController
祖先,如果不存在,则为 nil
。
以下是确定 View Controller 处于 3 个场景中的哪一个的方法(假设没有其他场景):
if let splitVC = viewController.splitViewController {
// split view controller scenario
} else if let navigationVC = viewController.navigationController {
if navigationVC.viewControllers[0] == viewController {
// first controller scenario (no back button)
} else if navigationVC.topViewController == viewController {
// top controller scenario (back button)
}
}
关于ios - 如何为特定的 UIViewController 设置默认返回 UINavigationItem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34379231/
在我的 UINavigationController 中,我推送三个 UITableViewController。在我的第二个 UITableViewController 中,我在 viewDidLo
我有一个 navigationItem 的子类,因为我想更改导航标题标签的文本、字体、颜色等。 我的 customNavigationItem.h 有以下内容: @interface CustomNa
我被难住了。我正在使用 UINavigationController,在一个 View 上我试图隐藏后退按钮。但是当我这样做时,它也会隐藏下一级 View 上的后退按钮。 在 - (void)view
我想用一个 navItem.rightBarButtonItem 加载 View Controller ,并根据一组情况将其更改为另一个。似乎我只能在 viewDidLoad 上加载它一次。更改图标后
我有一个 UINavigationItem(不是 UINavigationBar),我想使其透明或不透明。这是在我建立从导航 Controller 到我的 UIViewController 子类的关系
我创建了一个带有菜单结构的应用程序,并希望在初始化第一个 ViewController 之前拥有一个 DownloadViewController。 因此我在 DownloadViewControll
尝试修改 UINavigationItem 中的标题 // this modify the title self.navigationItem.title = @"Any title"; //
我正在尝试为 UINavigationItem 创建自定义动画。我有包含 4 个项目的导航栏,但是当我向下滚动时,我想将搜索栏放在导航中。我想要动画自下而上,但我尝试的一切都不起作用。 以下是我尝试过
我有一个自定义的 UITextField 添加到 UINavigationItem.titleView。但它不是becomeFirstResponder。为什么会这样? - (void) viewDi
我正在使用此代码在 UINavigationItem 中设置自定义图像: let button = UIButton(type: .system) button.frame = CGRect(orig
当我点击导航栏的标题时,有什么好方法可以让弹出窗口(特别是日期选择器)出现?我实际上使用的是 xcode6/swift,但假设 ios7 解决方案就足够了! 非常感谢! 最佳答案 您可以将按钮设置为标
谁能解释为什么有两个 navigationItems?当我像下面这样登录时: NSLog(@"%@", self.navigationItem); NSLog(@"%@", self.navigati
我找遍了,似乎无法弄清楚。我相信很多人都会有我的链接,我很可能已经看过了。但如果有人可以请给我看代码来执行以下操作: 我想在我的 UINavigationBar 中有一个左箭头作为“返回”UINavi
我遇到了一个问题,当我将项目推到导航 Controller 上时,后退按钮只显示“后退”。我尝试设置一个断点并检查堆栈上的导航项。堆栈中的所有项目都有一个 nil backButtonItem 和一个
我有两个字符串构建的文本:A(乙) 我想使用这两个字符串作为 UINavigationItem 的标题,但在截断的情况下,我只希望截断 A 而不是截断 B。 例子:我想要的标题是“The quick
我有一个 iPad 应用程序,在其中一个屏幕上我有一个 UIToolbar设置为 titleView的 viewController的 navigationItem .我还有一个 left-和一个 r
我正在使用基于 UIImageView 的动画来显示自定义事件指示器。以下代码负责设置: + (void)startLoadingActivity:(UIViewController *)vc {
我无法解决 UINavigationItem 上的提示问题... 我有一个主视图 Controller 和一个细节 View Controller 。当我从 master 推送到细节时,细节 View
我在 Xcode 5 的“默认导航 Controller ”中添加了几个 View Controller 。我想更改栏的颜色,但它不起作用。这是我使用的代码: [[UINavigationBar ap
如何在导航项中添加新按钮?假设我需要将其添加到右侧按钮附近。 用于左右的代码。 self.navigationItem.leftBarButtonItem = [[UIBarButtonItem al
我是一名优秀的程序员,十分优秀!