小编Ale*_*one的帖子

UINavigationController全局和以编程方式更改导航栏色调颜色

此代码可以更改UINavigationBar应用程序中任何位置的颜色.但是,我注意到它并没有改变UIColorUINavigationBar使用的 UINavigationController(我来自a UIStoryboard).

UIColor* navBarColor = [UIColor colorWithRed:arc4random()%100/100.0 
                                       green:arc4random()%100/100.0 
                                        blue:arc4random()%100/100.0 
                                       alpha:1];
[[UINavigationBar appearance] setTintColor:navBarColor];

[[UINavigationBar appearance] setBarStyle:UIBarStyleBlackTranslucent];
[[UINavigationBar appearance] setAlpha:0.7];
Run Code Online (Sandbox Code Playgroud)

有没有办法访问导航栏的appearance对象UINavigationController's我知道如何设置单个控制器的色调,但我想对它们的外观进行全局控制.

更新:这是我的错误,代码确实改变了UIColor所有UINavigationBars,但它需要覆盖和揭示根导航控制器(例如呈现模态视图控制器),然后它将重新绘制自己的新UIColors!

谢谢!

colors objective-c storyboard uinavigationcontroller ios

20
推荐指数
4
解决办法
5万
查看次数

iOS Core Data何时保存上下文?

由于并发和多线程,我随机崩溃核心数据.我知道核心数据不是线程安全的.我还找到了关于如何创建ThreadedDataService以及为每个线程实例化单独上下文的其他几个答案.

这对我来说有点太多了,所以我试图找到一个更简单的方法.

我目前正在尝试的解决方案很简单:通过主线程保存数据.但是,现在出现了一个新问题:死锁.该应用程序变得无法响应,因为我对新NSManagedObject的每次插入后都会调用save.(这是我最好的猜测).

阅读App Delegate文档,我注意到它建议我在applicationWillTerminate中保存上下文.

我的问题是:对于每分钟插入新事件的长时间运行操作,并且用户不需要立即看到传播到所有控制器的更新,何时是保存上下文的好时机? 我觉得为每条记录保存上下文可能有点矫枉过正?

-(void)insertNewEvent
{


    // Create a new instance of the entity managed by the fetched results controller.
    NSManagedObjectContext *context = [self.fetchedResultsController.managedObjectContext];
    NSEntityDescription *entity = [[self.fetchedResultsControllerfetchRequest] entity];
    Event*newManagedObject = (Event*)[NSEntityDescription insertNewObjectForEntityForName:[entity name] inManagedObjectContext:context];

//use accessor methods to set default values

    // Save the context. > IS THIS REALLY NEEDED HERE?
    NSError *error = nil;
    if (![context save:&error])
    {


    }else
    {
        if(newManagedObject!=nil)
        {
            currentState= newManagedObject;
            [currentRecord addEvent:newManagedObject];
//Is this call needed? …
Run Code Online (Sandbox Code Playgroud)

iphone concurrency core-data objective-c ios

19
推荐指数
1
解决办法
2万
查看次数

是否可以在图形上下文中呈现AVCaptureVideoPreviewLayer?

这似乎是一项简单的任务,但它让我疯狂.是否可以将包含AVCaptureVideoPreviewLayer的UIView作为子图层转换为要保存的图像?我想创建一个增强现实叠加层,并有一个按钮将图片保存到相机胶卷.按住电源按钮+主页键可将屏幕截图捕获到相机胶卷,这意味着我的所有捕获逻辑都在工作,并且任务是可行的.但我似乎无法以编程方式使其工作.

我正在使用AVCaptureVideoPreviewLayer捕捉相机图像的实时预览.我渲染图像的所有尝试都失败了:

  previewLayer = [AVCaptureVideoPreviewLayer layerWithSession:captureSession];
//start the session, etc...


//this saves a white screen
- (IBAction)saveOverlay:(id)sender {
    NSLog(@"saveOverlay");

    UIGraphicsBeginImageContext(appDelegate.window.bounds.size);
        UIGraphicsBeginImageContext(scrollView.frame.size);

    [previewLayer.presentationLayer renderInContext:UIGraphicsGetCurrentContext()];


//    [appDelegate.window.layer renderInContext:UIGraphicsGetCurrentContext()];

    UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    UIImageWriteToSavedPhotosAlbum(screenshot, self, 
                                   @selector(image:didFinishSavingWithError:contextInfo:), nil);
}
Run Code Online (Sandbox Code Playgroud)

//这会渲染一切,除了预览图层,这是空白的.

[appDelegate.window.layer renderInContext:UIGraphicsGetCurrentContext()];
Run Code Online (Sandbox Code Playgroud)

我在某处读过这可能是由于iPhone的安全问题.这是真的?

需要明确的是:我不想保存相机的图像.我想保存叠加在另一个图像上的透明预览图层,从而创建透明度.但由于某种原因,我无法使其发挥作用.

iphone objective-c avfoundation uiview

19
推荐指数
2
解决办法
4676
查看次数

iOS CocoaPods - 如何查找特定pod的可用版本,而不是cocoapods本身?

我正在尝试恢复到特定pod的先前版本,但是无法轻松找到列出我可以恢复的所有版本的命令.比方说我有:

pod 'AFNetworking', '~> 2.3.0'
Run Code Online (Sandbox Code Playgroud)

如何了解我可以安装的特定cocoapod(例如:AFNetworking)的哪些版本?我想看看它是否有2.3.1,2.3.5,2.4.1等.

PS.Google对如何检查cocoapods本身的版本提出了疑问,但我要问的是通过该框架可以获得的特定pod的版本历史记录.

dependency-management ios cocoapods

19
推荐指数
2
解决办法
6149
查看次数

带有El Capitan的Xcode 7无法签署二进制文件以进行导出 - 无法按"允许"按钮

我遇到了一个问题,Mac OSX 10.11 El Capitan无法为二进制分发编码二进制文件.这个问题很奇怪:

  • 我已在此mac上转移了分发证书
  • XCode问我是否可以使用私钥来签署ipa
  • 单击"允许"或"始终允许"不执行任何操作,密码框不会因错误密码而抖动.

因此,我无法导出IPA(此私钥从未在此Mac上使用过).

如何修复Xcode7/El Capitan的"无法点击允许或始终允许"问题?

尝试将分发证书设置为"始终允许"也会在钥匙串助手中失败: 在此输入图像描述

macos xcode keychain ad-hoc-distribution

18
推荐指数
2
解决办法
1141
查看次数

Xcode 10命令PhaseScriptExecution失败,出现非零退出代码(EXPANDED_CODE_SIGN_IDENTITY:未绑定变量)

执行"项目">"测试"时会弹出此错误

/Users/.../Project/Pods/Target Support Files/Pods-Target/Pods-TargetTests-frameworks.sh:
line 104: EXPANDED_CODE_SIGN_IDENTITY: unbound variable
Command PhaseScriptExecution failed with a nonzero exit code
Run Code Online (Sandbox Code Playgroud)

尝试使用cocoapods测试项目时,如何解决"使用非零退出代码失败的命令PhaseScriptExecution"错误?

code-signing cocoapods xcode10 xcode10beta6

18
推荐指数
3
解决办法
2万
查看次数

iPhone IOS5 Storyboard,如何使用自定义.xib文件加载UIViewController?

我有一些来自旧iOS4项目的UIViewControllers,他们使用的是.xib,在界面构建器中创建.

我为iOS5构建的新项目使用了故事板.

我正在尝试将UIViewController添加到故事板,但让它使用我已经拥有的自定义XIB.我在indentity检查器中设置了控制器的标识(在界面构建器中),但我不确定如何要求该控制器加载自定义.xib.

任何帮助表示赞赏!

PS.到目前为止,我能够通过为故事板目的创建一个"包装器"类来解决这个问题,并让该类具有另一个UIViewController.但这有点打败了故事板的全部要点.

iphone objective-c interface-builder storyboard ios5

17
推荐指数
1
解决办法
1万
查看次数

xCode6如何在拔出设备时禁用"丢失与iPhone的连接"消息?

每次我拔出运行部署并从xCode启动的应用程序的设备时,升级到xCode6时,我会在应用程序范围的弹出框中显示"丢失与[设备名称]的连接".xCode图标开始在牌组中弹跳,我必须去那里并单击"确定",否则它会一直弹跳,这真的很烦人.

在此输入图像描述 关闭该对话框超过50次后,我不得不问:

有没有办法让我在xCode6中禁用"丢失与[设备名称]的连接"消息?

我可能在设备上运行了六个演示项目,并且在我拔下设备之前不想关闭所有这些项目.

iphone debugging xcode6 ios8

17
推荐指数
1
解决办法
290
查看次数

Xcode7能量分析仪的"开销"是什么?

我正在检查将大量内容加载到Web视图中的应用程序的能量分析.我受到以下规格的欢迎.我发现能源影响很大,而且开销一直很高(屏幕截图中为54%).

能量计的Overhead stat是什么意思? 在此输入图像描述

profiling energy xcode7

16
推荐指数
2
解决办法
6128
查看次数

如何在Swift中以编程方式检测iOS11?

我在WWDC视频中看到,有一些新的快速功能来检测iOS 11的可用性.

如何使用Swift检测iOS11?

swift ios11

16
推荐指数
2
解决办法
1万
查看次数