- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 ContactPicker,可以控制项目中其他 ViewController 的颜色,但无法控制 ContactsPickers状态栏颜色。
我的目标是让状态栏文本变成白色。
- (IBAction)btnSearch:(id)sender {
//global statusbar color
UINavigationBar.appearance.translucent = NO;
UINavigationBar.appearance.barStyle = UIBarStyleBlack;
CNContactPickerViewController *contactPicker = [CNContactPickerViewController new];
//local statusbar color
contactPicker.navigationController.navigationBar.translucent = NO;
contactPicker.navigationController.navigationBar.barStyle = UIBarStyleBlack;
contactPicker.delegate = self;
contactPicker.displayedPropertyKeys = @[CNContactNamePrefixKey, CNContactPhoneNumbersKey];
[self presentViewController:contactPicker animated:NO completion:nil];
}
我还在 Xcode Docs 中找到了这个:应用程序默认使用新的基于 View Controller 的状态栏管理系统。要选择退出此功能,请将 UIViewControllerBasedStatusBarAppearance 键的值添加到您的 Info.plist 中。
当我有一个全局属性无法控制每个 View 时,我可以管理使 ContactPicker 状态栏变为白色。
最佳答案
我一直在尝试各种对我不起作用的方法情况:
(1)在我的 Appdelegate 中我尝试了这个,它没有效果:
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;
(2)在我的 AppDelegate 中,我有这个但没有效果:
UINavigationBar.appearance.translucent = NO;
UINavigationBar.appearance.barStyle = UIBarStyleBlack;
(3)就在展示 ContactsController 之前,我有这个(无效):
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
self.navigationController.navigationBar.translucent = NO;
(4)这在呈现 Controller 之前也没有效果:
contactPicker.navigationController.navigationBar.translucent = NO;
contactPicker.navigationController.navigationBar.barStyle = UIBarStyleBlack;
(5)这有效,方法是扩展类并覆盖方法“preferredStatusBarStyle”:
注意:在我的 plist 中,我已将“基于 View Controller 的状态栏外观”设置为"is"
对于所有其他 ViewController,只需将 NavigationCotroller 的半透明和 barStyle 设置为 UIBarStyleBlack 即可,但是不适用于联系人。
.h
#import <ContactsUI/ContactsUI.h>
@interface ContactViewController : CNContactPickerViewController
@end
.m
#import "ContactViewController.h"
@interface ContactViewController ()
@end
@implementation ContactViewController
- (void)viewDidLoad {
[super viewDidLoad];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
-(UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
@end
关于ios - 更改 CNContactPickerViewController 的状态栏颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44976651/
我正在创建一个需要推荐的美食应用程序。我正在添加一项功能,允许我向联系人列表中的 friend 推荐特定食物。但是,在使用 CNContactViewController 时,我没有获得多重选择所需的
比方说,我们有一个简单的应用程序,其中包含一个 View Controller 和单个栏按钮项目,它将打开 CNContactPieckerViewController。因此,我进入选择器 View
我正在使用CNContactPickerViewController允许用户查看他们的联系人列表并选择联系人。但是,虽然我可以向他们显示他们的联系人列表,但无法选择任何联系人。我只想让他们选择一个联系
我正在显示一个CNContactPickerViewController。假设如果我从设置中禁用访问,则它不应该允许打开 Controller ,或者应该弹出窗口说“联系人访问已禁用”。但反过来它又打
委托(delegate)方法实现时: func contactPicker(_ picker: CNContactPickerViewController, didSelect contactProp
我正在使用 CNContactPickerViewController 让用户选择他/她的联系人之一的电子邮件 let contactPicker = CNContactPickerViewContr
我只想获取手机联系人的姓名和邮箱,打印出来。我正在使用以下代码来完成此任务。 import UIKit import ContactsUI class ViewController: UIViewCo
似乎无法创建与 CNContactPickerViewController 一起使用的 UIViewControllerRepresentable。 使用 Xcode 11 beta 4,我使用其他
有没有办法让弹出窗口显示联系人选择器? 我尝试了这个(以及许多其他变体)但没有结果......(这是我的 Controller 中的 IBAction 方法,当点击“sourceView”时应该显示弹
我有一个 ContactPicker,可以控制项目中其他 ViewController 的颜色,但无法控制 ContactsPickers状态栏颜色。 我的目标是让状态栏文本变成白色。 - (IBAc
我使用以下代码在我的应用程序中显示联系人列表: self.contactPicker = [[CNContactPickerViewController alloc] init]; s
我尝试使用一组现有电话号码从地址簿中过滤一些联系人。 CNContactPickerViewController 应该在这些联系人从现有电话号码中找到匹配的电话号码时禁止选择这些联系人。 我需要使用电
我正在尝试使用更现代的 CNContactPickerViewController 来选择联系人。如果联系人有多个地址,我希望用户只能选择其中一个地址。如果专门选择了一个地址,我还想获得 CNCont
我了解到 CNContactPickerViewController 中的搜索栏不允许选择搜索到的联系人。我还查看了有关此问题的其他堆栈溢出问题。这似乎是 iOS 错误。但我想知道,有什么方法可以隐藏
我正在打开一个 CNContactPickerViewController 以在应用程序中使用,但我想改变它的呈现方式以满足我的应用程序需求,最好不要自己动手并重新发明轮子。这就是我使用 Object
我正在使用 iOS 9 和 Swift 2.2 我已经使用 CNContactPickerDelegate 实现了 iOS 内置 CNContactPickerViewController 来获取联系
我使用新的 CNContactPickerViewController 从地址簿中选择联系人并在我的应用程序中使用它们。 当我按下按钮时,我调用此代码: let contactPicker = CNC
如果用户有多个电话号码,SelectionOfProperty 将不起作用。 我正在使用以下代码: let picker = CNContactPickerViewController() picke
我目前可以从联系人应用程序获取联系人,但我面临的问题是,如果联系人有超过 1 部手机,我需要能够选择要导入到我的应用程序的联系人数字,我总是得到第一个数字,这是我正在使用的代码: func conta
我正在编写一个概念聊天应用程序。我现在可以开始新的聊天了。 我想要的是,当用户使用 CNContactPickerViewController 选择一个联系人时,选择器被取消(这是有效的)并且联系人详
我是一名优秀的程序员,十分优秀!