UIApperance和各种崩溃

2023-12-15

我在自定义我的应用程序时感到非常沮丧。 我已经创建并设计了几乎整个应用程序的样式,包括导航栏、工具栏、tabBar 等,但每次 MFMailComposeViewController、MFMessageComposerViewController、Twitter 或 Facebook 共享器甚至 QuickLook 视图控制器发挥作用时,应用程序都会崩溃并显示以下消息:

*** Assertion failure in -[UICGColor encodeWithCoder:].
*** Terminating app due to uncaught exception 'NSInternalInconsistencyExceptionì, reason: 'Only RGBA or White color spaces are supported in this situation.'

我读到这是因为 iOS 6 将作曲家作为远程控制器进行管理,但我真的不知道如何解决这个问题。

我不想因此删除邮件撰写功能或消息撰写功能。

有人也遇到过这个bug吗?

代码我已经写好了。问题是 UIAppearance 由于自定义 UINavigationBars 元素而导致应用程序崩溃。 代码。

-(void)message{
    if (_progressHUD){
        [_progressHUD hide:YES];
    }
    MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init] ;
    [controller setMessageComposeDelegate:self];

    if([MFMessageComposeViewController canSendText])
    {
        controller.body = descriptionString;
        controller.recipients = nil;
        [self presentViewController:controller animated:YES completion:nil];
    }

}

-(void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result{
    [self dismissViewControllerAnimated:YES completion:nil];
}

-(void)email {

    if (_progressHUD){
        [_progressHUD hide:YES];
    }

    MFMailComposeViewController *composer = [[MFMailComposeViewController alloc] init];
    [composer setMailComposeDelegate:self];
    if ([MFMailComposeViewController canSendMail]) {
        [composer setToRecipients:nil];
        [composer setSubject:[NSString stringWithFormat:@"%@",nameString]];

        [composer setMessageBody:[NSString stringWithFormat:@"%@",descriptionString] isHTML:NO];        [composer addAttachmentData:[NSData dataWithContentsOfURL:[NSURL URLWithString:imageString]] mimeType:@"png" fileName:imageString];
        [composer setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
        [self presentViewController:composer animated:YES completion:nil];
    }
}


-(void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error {
    if (error) {
        SIAlertView *alert = [[SIAlertView alloc] initWithTitle:@"Error"
                                                        andMessage:[NSString stringWithFormat:@"Error %@", [error description]]];
        [alert addButtonWithTitle:@"OK" type:SIAlertViewButtonTypeDestructive handler:^(SIAlertView *alertView){}];
        [alert show];
        [self dismissViewControllerAnimated:YES completion:nil];
    }
    else {
        [self dismissViewControllerAnimated:YES completion:nil];
    }
}

外貌

- (void)customizeAppearance
{
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

    UINavigationBar Appearance
    [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navigationBarBackground"] forBarMetrics:UIBarMetricsDefault];
    [[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];
    [[UINavigationBar appearance] setTitleTextAttributes:
     [NSDictionary dictionaryWithObjectsAndKeys:
      [UIColor whiteColor],
      UITextAttributeTextColor,
      [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.0],
      UITextAttributeTextShadowColor,
      [NSValue valueWithUIOffset:UIOffsetMake(0, -1)],
      UITextAttributeTextShadowOffset,
      [UIFont fontWithName:@"HelveticaNeue" size:0.0],
      UITextAttributeFont,
      nil]];

    //ToolBar Appearance
    [[UIToolbar appearance] setTintColor:[UIColor whiteColor]];


    //Switch Appearance
    [[UISwitch appearance] setOnTintColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"greenBackground"]]];

    //Search Bar Appearance
    [[UISearchBar appearance] setTintColor:[UIColor whiteColor]];

    //Tab Bar Appearance
    [[UITabBar appearance] setBackgroundImage:[UIImage imageNamed:@"tabBarBackground"]];
    [[UITabBar appearance] setTintColor:[UIColor whiteColor]];
    [[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor], UITextAttributeTextColor, nil] forState:UIControlStateNormal];
    [[UITabBar appearance] setSelectionIndicatorImage:[UIImage imageNamed:@"transparent"]];

}

经过各种调试会话后,我发现导致我崩溃的代码行是

//Switch Appearance
[[UISwitch appearance] setOnTintColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"greenBackground"]]];

所以我删除了它,一切正常。 显然,我无法直接在 AppDelegate 中设置外观,但我必须在开关所在的类中进行设置。

对于刷新控件外观也是如此:必须在 tableView 的类中设置它。

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

UIApperance和各种崩溃 的相关文章

  • 监控Mac网络流量

    我想知道如何监控 Mac 上的网络流量 就像活动监视器的方式一样 显示进出的字节 数据包 我知道这有点模糊 但我不确定最好的起点 编辑 我想用代码来完成此操作 而不是使用现有的软件 我刚刚找到了开源项目 菜单表 http www ragin
  • 在 iPad 上运行时,不会触发 Mobile Safari 中即将发生的选项卡切换的 Pagehide 事件

    众所周知 Mobile Safari 在以下情况下会暂停网页上的 Javascript 执行 您切换到不同的浏览器选项卡 切换到不同的 iOS 应用程序 例如 当您接到来电时 手机应用程序 您可以订阅窗口 页面隐藏 and 页面展示 事件来
  • iOS 7 MapKit 崩溃:[VKRasterOverlayTileSource invalidateRect:level:] 中的 EXC_BAD_ACCESS

    我仅在 iOS 7 上遇到无法重现的崩溃 我大量使用 MKOverlayRenderer 在地图上绘制形状 iOS 6 上不会发生此崩溃 任何与此相关的想法都会有用 Exception Type EXC BAD ACCESS Code KE
  • 所有 UI 前面的透明 UIImageView

    首次启动我的应用程序后 我想向用户展示一些教程 以解释我的应用程序的功能 所以我需要设置一个带有一些箭头和标签的透明 UIImageView 其中主 UI 更具体地说 tabbarcontroler 中的 navigationviewcon
  • 使用 Swift 导入 aurioTouch 库

    我正在尝试将 Objective C 应用程序转换为 swift 我想导入课程奥里奥触摸 https developer apple com library ios samplecode aurioTouch Introduction In
  • 在单个 MTLRenderCommandEncoder 中使用多个渲染管道:如何同步 MTLBuffer?

    中心议题我在一个渲染命令编码器中有两个渲染管道 第一个管道写入第二个管道中使用的缓冲区 这似乎不起作用 我预计这是一个同步问题 当我为每个渲染管道使用一个单独的渲染命令编码器时 我得到了所需的结果 可以使用一个渲染命令编码器来解决这个问题
  • 什么是 iBeacon 蓝牙配置文件

    我想使用一些低功耗蓝牙开发套件创建自己的 iBeacon Apple 尚未发布 iBeacon 规范 但是 一些硬件开发人员已根据 AirLocate 示例代码对 iBeacon 进行了逆向工程 并开始销售 iBeacon 开发套件 那么
  • 将箭头附加到 UIBezierPath

    我需要你的帮助 我正在尝试使用具有可变宽度的 UIBezierPaths 创建一个图形 并由带有两个控制点的贝塞尔曲线组成 现在我想在这些路径的末尾 右侧 添加箭头 有没有办法做到这一点 即通过附加一个包含三角形的较小线宽的子路径 这是我想
  • 将 uiview 转换为 .png 图像

    我正在 iphone 上工作 我采用 UIView 的子类 并在绘制矩形方法中进行一些设计 我想将此视图转换为 png 格式 提前致谢 UIGraphicsBeginImageContext myView frame size myView
  • 与在后台运行应用程序的一台设备进行多点连接

    我想使用多点连接框架连接 2 台设备 其中一台设备在后台运行应用程序 就像 Firechat 一样 我无法确认这是否有效 我已将其安装在 iPhone 5S 和 4 上 但是他们只是找不到彼此 但我在某处读过这有效 实现这一目标的最佳方法是
  • CGColorRef 导致崩溃

    我的代码发生了崩溃 并且我一直跟踪到在传递 2 个 CGColorRefs 时发生崩溃的行 以下是对象 CGColorRef startColor UIColor colorWithWhite 0 92 alpha 1 0 CGColor
  • 搜索结果中的 Swift 搜索结果控制器连接到另一个视图控制器

    Problem 我有一个表格视图 用户可以滚动查找某些内容或使用搜索栏 搜索栏不是使用 StoryBoard 创建的 我的观点有一个UISearchController处理搜索栏和搜索结果更新 我遇到的问题是 自从我SearchResult
  • 如何消除圆形矩形按钮周围的间隙而不删除其周围的边框? [复制]

    这个问题在这里已经有答案了 顺便提一句 这可能看起来像是关于按钮阴影问题的问题的重复 但它们有单调的背景 在我的例子中 背景是一些图像 所以简单的边框不能解决问题 While making app for iPhone Pad I noti
  • 使用 Swift 创建 SKSpriteNode 子类

    我正在尝试创建作为 SKSpriteNode 子类的类 并且我想向其添加其他属性和函数 但在第一步中我遇到了错误 这是我的代码 import SpriteKit class Ball SKSpriteNode init super init
  • 如何通过 swift 包管理器在 swift 项目中添加 Alamofire [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在探索 SPM 现在我需要知道如何在我的项目中通过 SPM 导入 Alamofire 创建一个名为的 swift 文件Package在你
  • 在 iOS 中以编程方式配置代理设置

    如何在 iOS 中以编程方式配置代理设置NSURLSession 我跟着这个link https stackoverflow com questions 28101582 how to programmatically add a prox
  • SwiftUI 查看所有视图,包括工作表视图

    我需要根据某些条件在所有视图之上显示一个视图 无论顶视图是什么 我正在尝试以下代码 struct TestView
  • Swift 3 Web 视图

    所以我刚刚更新到新的Xcode8 and Swift3但现在我的网络视图不起作用 这是我使用的代码 UIWebView loadRequest webView NSURLRequest URL NSURL string http hardw
  • 将粗体应用于 NSAttributedString 的一部分,同时保留字体大小和外观

    我正在为 iOS 开发一个富文本编辑器 使用UITextView连同一个NSAttributedString 它的功能与传统功能类似 即选择一个区域 单击一个按钮 并将该效果应用于该区域 同时保留文本上的任何其他属性 不幸的是NSAttri
  • Swift 中的 id 相当于什么?

    我有两个这样的代表 protocol MyFirstDelegate func change value int protocol MySecondDelegate weak var delegate MyFirstDelegate 这些协

随机推荐

  • 应用程序从 Rails 5.2 升级到 6.0 后运行 rspec 时出现 PG::ConnectionBad(连接已关闭)

    我尝试将我的应用程序从 Rails 5 2 升级到 6 0 升级后运行rspec它会引发错误PG ConnectionBad connection is closed 该错误是由表达式引起的ActiveRecord Migration ma
  • 路径依赖类型是子类型吗?

    trait A trait B def foo A this B new B def bar A B foo def baz A this B bar type mismatch found A B required A this B 我说
  • 选择字段中不同的第一个单词

    我希望能够执行选择查询 仅获取字符串中不同的第一个单词 不包括最后一个单词 如果不清楚 这是我想要的下表结果 苹果 iPhone 4S苹果 iPhone 4苹果 iPhone 6 Plus id model 1 Apple iPhone 4
  • 如果我在 scanf 函数中使用带有字符串的“&”会发生什么?

    我刚刚在博客中看到一些代码 它使用了 scanf s T 但正如我们所知 我们不应该在字符串中使用 符号 因为它会自动分配该字符串的首地址 我确实运行了该代码 令人惊讶的是它正在工作 所以我想知道当我使用时会发生什么 在字符串中 inclu
  • 如何使用 python 更改桌面背景?

    如何使用 python 更改桌面背景 我想在 Windows 和 Linux 上都这样做 在Python2 5或更高版本的Windows上 使用ctypes加载user32 dll并调用SystemParametersInfo 使用 SPI
  • 记住刷新后哪个选项卡处于活动状态

    我在网页上使用 jquery 选项卡 当刷新页面时 它会丢失我曾经使用过的选项卡并返回到第一个选项卡 有谁遇到过这个问题并知道如何解决它 和其他人一样 我也在 jQueryUI 1 10 中为 ui tabs cookie 历史而苦苦挣扎
  • 使用散点图可视化大型 3D 数据集

    我正在 MATLAB 中运行模拟 其中有一个大型 3D 数据集 每个时间步长都会发生变化 我尝试使用 3D 散点图来可视化数据 其中随着模拟的进行 点会呈现不同的位置 大小 颜色和透明度级别 尺寸和颜色信息是多余的 在 MATLAB 中渲染
  • 如何让子控件正确的 id 到客户端

    我正在研究 ASP NET 但没有使用任何 ASP NET 的 AJAX 框架 现在我尝试使用 经典 JavaScript 方式 AJAX 更新客户端网格控件单元格中文本框和下拉列表的内容 但我面临的问题是 我想在客户端呈现时更新的控件 文
  • 更好的 SEO 可以从文章的 URL Slug 中删除“停止”字样? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我看到一个 WordPress 插件可以从文章 URL Slug 中删除某些单词 举个例子 在没有插件的情况下 如果我创建一篇标题为 的文章 使用 Trello 应用程序将您的项目组织到看
  • 使用 JSON-Framework 将 NSMutableArray 作为 JSON 发送

    我在项目中成功使用 JSON Framework 来解码从服务器发送的 JSON 现在我需要以相反的方式进行操作 并且我遇到了问题 因为要发送的数据是从 CoreData 获取的 NSMutableArray 使用时 NSString js
  • 如何将原始输入捕获到精神语法的合成输出中?

    我正在研究 boost spirit qi grammar 并希望将原始文本的一部分复制到语法的合成输出结构中 更具体地说 与规则的组件之一匹配的部分 该语法最终将用作更复杂语法的子语法 因此我实际上无法访问原始输入 我猜测这可以通过语义操
  • Azure AD B2C:将内置流与自定义策略混合并共享 JWT 的加密密钥

    我正在开发一个使用 Azure AD B2C 和 NET Core API 的应用程序 我们正在尝试混合使用内置用户流和一个自定义策略 内置用于登录和重置密码的用户流程 以及用于注册的自定义策略 因为我们希望遵循此示例应用程序演示的邀请注册
  • jqgrid 省略号

    在 jqGrid 中 如果文本不适合并被截断 是否有一种本机方法可以在列末尾显示 我看到有一个 ui ellipsis 类 但我很困惑 如果文本被截断 它是否会自动添加 以及一旦调整列大小 它是否会自动消失 您可以使用以下CSS解决该问题
  • 使用 cURL 登录远程网页后,如何访问另一个网页并将其作为字符串返回?

    好吧 我对 cURL 还很陌生 我已经成功使用 cURL 登录网页并发送 POST 数据 但是一旦登录 我希望它能够在同一页面下加载各种网页SESSION并将数据提取为字符串 以便我可以检查网页是否包含特定字符串 我该怎么做呢 例如 它登录
  • SQL查询根据特定条件对分组进行计数

    我的表数据 id fieldId Name Text 1 101 name1 a1 2 102 name2 a2 3 101 name1 a1 4 103 name3 a2 5 102 name2 a3 6 101 name1 c1 7 1
  • 如何判断两个对象的类型是否兼容?

    我有一个通用函数 我想知道如何编写 List
  • 导入 Excel 数据似乎随机给出空值

    使用 SSIS for Visual Studio 2017 进行某些 Excel 文件导入 我创建了一个包含多个循环容器的包 这些循环容器调用特定的包来处理某些文件 我在执行一个特定包时遇到问题 因为它似乎随机决定每个 Excel 文件的
  • 如何居中对齐SPAN标签中包裹的img?

    我正在尝试居中对齐包裹在 span 但我这样做时遇到困难 我已将 CSS 和 HTML 上传到 jsfiddle http jsfiddle net 7nHhu 1 我试图让图像以 块 样式与内容居中对齐 即其上方和下方的所有文本 而不是向
  • 在 CoreBuild 之前运行目标?

    我正在添加自定义 tt模板生成目标到我的项目之前运行CoreBuild 似乎有两种方法可以做到这一点
  • UIApperance和各种崩溃

    我在自定义我的应用程序时感到非常沮丧 我已经创建并设计了几乎整个应用程序的样式 包括导航栏 工具栏 tabBar 等 但每次 MFMailComposeViewController MFMessageComposerViewControll