为什么tintColor 在 iOS7 上的导航栏或工具栏上不起作用

2023-12-25

在iPad的iOS7上,首先,我设置了一个模态视图控制器,大小为320 * 460,然后,在这个模态视图控制器中,我呈现了另一个导航视图控制器,在此之后,导航栏和工具栏的色调颜色呈现的导航控制器变成灰色。我尝试设置导航栏和工具栏的色调颜色,但它不起作用。

然后我尝试直接呈现导航控制器,然后所有色调颜色都适用于导航栏和工具栏。

我已经尝试过barTintColor导航栏和工具栏的属性,它可以工作。

我不知道会发生什么。

Update

首先,我定义一个视图控制器:modalViewController 模态视图控制器如下所示:

if (DeviceIsPad()) // DeviceIsPad is a method defined somewhere to tell that the device is an iPad.
    modaViewController.modalPresentationStyle = UIModalPresentationFormSheet;

//here self is a normal view controller
[self presentViewController:modalViewController animated:YES completion:NULL];

二、定义一个导航视图控制器:navigationController 像这样呈现导航控制器:

if (DeviceIsPad())
    navigationController.modalPresentationStyle = UIModalPresentationCurrentContext;

// here self means the modalViewController mentioned above
[self presentViewController:navigationController animated:YES completion:nil];

我在 navigationController 的“viewDidLoad”方法中设置了导航栏和工具栏项目。

默认情况下,当导航视图控制器出现时,所有工具栏按钮项目(这些项目仅使用基本标题构建,例如Cancel, OK) 变成灰色。

同时,我也尝试过设置tintColor of tool bar and navigation bar。实例方法和外观方法(例如[[UIToolBar appearance] setTintColor:[UIColor blueColor]])被使用。但还是不行。

然后我试图呈现navigationViewController上面提到的与UIModalPresentationFormSheet直接从普通视图控制器设置样式,然后导航栏和工具栏的所有tintColor都变成蓝色(系统蓝色)。


发生这种情况是因为 Apple 假设我们不会呈现超过 1 个视图控制器,并将背景和所有栏按钮项变暗(不知道为什么)作为默认行为,以将焦点放在最前面的视图上。

要解决此问题,您只需在 DidFinishLaunchingWithOptions 中将应用程序窗口上的tintAdjustmentMode 强制为正常即可。

self.window.tintAdjustmentMode = UIViewTintAdjustmentModeNormal;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么tintColor 在 iOS7 上的导航栏或工具栏上不起作用 的相关文章

  • 按钮操作在 iPhone 中不起作用?

    我有一个 iPhone 应用程序 我在其中添加一个自定义视图 尽管有一个导航栏视图 在正常情况下 我隐藏该自定义视图 并在需要时取消隐藏它 现在 我正在向该自定义视图添加一个具有操作的按钮 但是当我点击它时 没有任何操作起作用 任何人都可以
  • Android:iOS UIActionSheet 等效项

    我正在转换一个 iOS 应用程序 并且需要实现从 iOS 到 Android 的 UIActionSheet 的等效项 什么 UI 元素最能模仿这一点 我的目标是 Android 2 2 及更高版本 您将使用 AlertDialog 或 D
  • iOS UIView子类,将透明文本绘制到背景

    我想将文本绘制到 UIView 上的子类上 以便文本从形状中切出 并且视图后面的背景显示出来 就像在 OSX Mavericks 徽标中找到的那样here http www n3rdabl3 co uk wp content uploads
  • MPMediaItemPropertyAssetURL 仅针对 iPhone 5s 返回 null

    我一直在使用以下代码从 MPMediaItemPickerController 返回的 MPMediaItem 对象中提取资产 url 以便我可以将音乐文件从用户 iPhone itunes 音乐库复制到文档文件夹进行处理 但在 iPhon
  • Twitter api 文本字段值被截断

    为什么文本字段值被截断以及如何获得完整的值 截至目前 我正在尝试获取如下所示的文本字段值 do if let responseObject try NSJSONSerialization JSONObjectWithData respons
  • 在 SwiftUI 中折叠 doubleColumn NavigationView 详细信息,就像在 UISplitViewController 上折叠一样?

    因此 当我在 SwiftUI 中创建列表时 我可以 免费 获得主从拆分视图 例如 import SwiftUI struct ContentView View var people Angela Juan Yeji var body som
  • 我如何在 viewDidLoad 中执行 UIView animateWithDuration ? IOS 7

    我在 viewDidAppear 中尝试这个 但我有一秒钟的延迟 我能做什么 在 viewDidLoad 中工作 void viewDidAppear BOOL animated fullRotation CABasicAnimation
  • 在运行时动态创建核心数据模型

    是否可以在运行时从服务器上的一组实体生成核心数据模型 例如SharePoint 列表或 SQL MySQL Parse 我正在尝试采用动态路线 因为 SharePoint 列表 SQL Parse 中的字段可能会在将来随时添加 这意味着应用
  • 什么是已弃用的推送转场? (iOS 8)[重复]

    这个问题在这里已经有答案了 我不知道在这种情况下已弃用意味着什么 我是编程新手 正在 Xcode 6 中制作我的前几个应用程序 今天我正在制作一个待办事项列表应用程序 当连接到用户可以输入新待办事项以添加到主表的场景时 我被邀请使用推送转场
  • iOS推送通知:当应用程序处于后台时,如何检测用户是否点击了通知?

    关于这个主题有很多 stackoverflow 线程 但我仍然没有找到好的解决方案 如果应用程序不在后台 我可以检查launchOptions UIApplicationLaunchOptionsRemoteNotificationKey
  • iOS:如何在不降低 fps 的情况下播放音频?

    我正在使用 Sprite Kit 最好使用 Swift 库 为 iOS 9 开发游戏 目前 我正在使用 Singleton 在其中预加载音频文件 每个文件都连接到一个单独的 AVAudioPlayer 实例 这是一个简短的代码片段来了解这个
  • TestFlight 提供反馈按钮

    我正在使用 iOS 8 的最新 testflight 版本 我将自己添加为内部测试人员 现在当我使用 testflight 打开应用程序时 我找不到反馈按钮 如果有人有任何线索 请告诉我 您在 Testflight 应用程序中提供反馈 打开
  • 如何使用 iOS 可达性

    我正在开发一个使用网络的 iPhone 应用程序 iPhone 通过 HTTP 请求与我的服务器通信 并且应该可以在 WiFi 和 3G 上运行 我目前使用NSURLConnection initWithRequest向我的服务器发送异步请
  • 如何检测 UISwipeGestureRecognizer 的结束?

    来自苹果文档 滑动是一种离散手势 因此每个手势仅发送一次关联的操作消息 void touchesEnded NSSet touches withEvent UIEvent event 当我使用 UISwipeGestureRecognize
  • Swift 3:如何访问48字节CFData中matrix_float3x3的值?

    我正在尝试访问内在矩阵answer https stackoverflow com a 48159895 9296667 通过运行下面的命令 我能够得到一个 48 字节的任意对象 https developer apple com docu
  • NSCFData isRessized 崩溃?

    我目前在控制台中收到此崩溃日志 2011 08 23 19 18 40 064 App 1697 707 NSCFData isResizable unrecognized selector sent to instance 0x11f1c
  • 如何在 iOS 中通过 Twitter API 获取用户电子邮件地址?

    我尝试了多个 SDK 但无法从任何资源获取电子邮件 ID 我努力了FHSTwitterEngine为此目的 但我没有得到解决方案 FHSTwitterEngine twitterEngine FHSTwitterEngine sharedE
  • 无法从 iOS 中的框架访问 .nib(XIB) 文件

    我已经从现有的代码库中创建了一个框架 并尝试在新的代码库中使用它 这很好用 但是当我尝试访问属于我的框架包的一部分的 nib 文件时 我的应用程序崩溃了 这是我用来访问视图控制器 XIB 文件的代码 testViewController c
  • AFNetworking XML 请求问题

    我在用着AFNetworking 2使用 JSON 响应 它工作正常 现在我必须将其转换为 XML 而不是使用 JSON 因为服务器响应是 XML 格式的 在我搜索之后 我找到了这段代码 但它不起作用 与 Charles 我发现请求是错误的
  • 如何在 Swift 中将文件名与文件扩展名分开?

    给定包中文件的名称 我想将该文件加载到我的 Swift 应用程序中 所以我需要使用这个方法 let soundURL NSBundle mainBundle URLForResource fname withExtension ext 无论

随机推荐

  • scala.js 与 jscala 有什么区别?

    有两个工具可以直接在 JavaScript 中编译 Scala 代码 Scala js http www scala js org and JScala https github com nau jscala 它们看起来都很棒 并且可以使用
  • issubclass 的用法

    gt gt gt import sys gt gt gt sys version info 2 4 4 final 0 gt gt gt class C pass gt gt gt issubclass C C True gt gt gt
  • 处理 Akka actor 中的错误

    我有一个非常简单的例子 我有一个演员 SimpleActor 通过向自身发送消息来执行周期性任务 该消息在参与者的构造函数中安排 在正常情况下 即没有故障 一切正常 但如果 Actor 必须处理错误怎么办 我还有另一个演员 SimpleAc
  • 捕获 C++ CLI 应用程序中登录的异常

    我试图捕获 C CLI 应用程序中的所有异常 以便我可以记录它们 包括堆栈跟踪 到目前为止 我有一些看起来很有希望的代码 STAThreadAttribute int main array
  • 使用 cffi-libffi 按值传递结构?

    我的印象是 CFFI 无法按值传递结构 但 CFFI 文档说 要将结构按值传递或返回给函数 请加载 cffi libffi 系统并将结构指定为 struct structure name 要传递或返回指针 您可以使用 pointer or
  • `--oom-kill-disable` 对 Docker 容器有什么作用?

    我已经明白了docker run m 256m memory swap 256m将限制容器 使其最多可以使用 256 MB 内存且无交换区 如果它分配更多 那么容器中的进程 不是 容器 将被杀死 例如 sudo docker run it
  • 在 Javascript 客户端中处理不成功的 websocket 升级请求

    我想让一个 javascript 客户端进程获取当客户端发出 websocket 升级请求并且该请求不成功时服务器返回的 HTTP 状态代码 我的服务器返回 HTTP 400 来指示 Websocket 升级不成功 我正在使用 Google
  • 如何在 WPF 中构建“逐字”自动完成功能?

    我已经做了一些研究 最终得到了几个自动完成框 它们有一个共同点 它们都与已输入的整个表达式匹配 有时 它们看起来很容易扩展 但最终却并非如此 但是 我需要一个文本框 允许用户输入一个单词 例如 tag1 显示一个带有一些建议的弹出窗口基于这
  • URL 路径参数用例

    通常 当我想到 URL 中的参数时 我会想到查询字符串 然而从技术上讲 在路径段中指定参数也是合法的 因此给出一个像这样的 URL http www a com frisbee brand 写成这样是合法的 http www a com f
  • Razor 页面中的 Blazor 组件

    我们有一个基本的剃刀页面应用程序 我们想添加 Blazor 组件 通过复制 04 16 Blazor 更新视频中的步骤或使用 Blazor 文档 我们可以毫无问题地使其发挥作用 但是 一旦我们将 Blazor 组件添加到 Razor 页面
  • ASP.Net / C# - 缺少程序集引用

    Hi I am a newbie in C and visual studio As Figure1 shown I am trying to use the classes from other project in similar so
  • MIPS 中基于指针的数组访问

    MIPS 中基于指针的数组访问是什么意思 基于指针的数组访问 还有一个额外的可能含义或含义 您可能有一个指向数组的指针 而不是位于固定地址的数组 实际上 在 C C 中 指向数组的指针 实际上通常只是指向数组第一个元素的指针 基本上 您有一
  • 使用工厂方法理解 JDBC 等服务提供者框架背后的概念

    From Item 1 考虑静态工厂方法而不是构造函数 静态工厂方法返回的对象的类甚至不需要存在 在编写包含该方法的类时 这样灵活的静态工厂 方法构成了服务提供者框架的基础 例如 Java 数据库 连接 API JDBC 服务提供者框架是一
  • 在vba中将多个消息框值添加到单个消息框

    我有这段代码 我可以在每个外循环结束时显示消息 我想在假设数组或某种列表之类的结构中捕获所有这些消息 然后最后想将这些消息中的每一条显示到一个消息框中 如果有人能帮助我 我将不胜感激 谢谢 For Each objNavFolder In
  • “多个方法名为......”的问题

    我有一个问题 我想在我的项目中实现 UAModalpanelview 起初它工作得很好 我实现了这些文件 无论如何 但现在我想运行该应用程序 但每次都会出现此错误 正是因为 中心 它向我显示 发现多个名为中心的方法 其结果 参数类型或属性不
  • ArgumentOutOfRangeException:索引超出范围

    每当我使用时 我都会收到这个奇怪的 ArgumentOutOfRangeException PersitenceSpecification 类用于验证具有 对值对象的引用 public class CatalogItem DomainEnt
  • UIWebView 捕获帖子

    我正在寻找一个需要在 iPad 上显示 UIWebView 的项目的起点 问题是 HTML 将由 pad 生成并显示在 UIWebView 中 并且将包含许多输入控件 需要的是一种在用户完成输入后获取这些控件的内容的方法 类似于我在服务器上
  • Apptimize \ Optimizely 如何在 iOS 上工作?

    我试图弄清楚一些关于 幕后 实现的一些事情 用于直接从 Apptimize 或 Optimizely 上的 Web 控制台动态操作 UI 元素 更具体地说 我想了解以下内容 1 客户端代码 iOS 如何将视图层次结构发送到 Web 服务器
  • 使用 Firebase 时使用未解析的标识符“FIRDatabase”

    Xcode 告诉我FIRDatabase不是标识符 我的代码 import UIKit import Firebase UIApplicationMain class AppDelegate UIResponder UIApplicatio
  • 为什么tintColor 在 iOS7 上的导航栏或工具栏上不起作用

    在iPad的iOS7上 首先 我设置了一个模态视图控制器 大小为320 460 然后 在这个模态视图控制器中 我呈现了另一个导航视图控制器 在此之后 导航栏和工具栏的色调颜色呈现的导航控制器变成灰色 我尝试设置导航栏和工具栏的色调颜色 但它