小编nar*_*ner的帖子

在Swift中更改导航栏颜色

我正在使用Picker View来允许用户为整个应用选择颜色主题.我打算改变导航栏,背景和标签栏的颜色(如果可能的话).我一直在研究如何做到这一点,但找不到任何Swift示例.任何人都可以给我一个代码示例,我需要用来更改导航栏颜色和导航栏文本颜色?(Picker View已设置,我只是在寻找更改UI颜色的代码)

谢谢.

uinavigationbar ios swift

219
推荐指数
18
解决办法
24万
查看次数

ActionSheet无法使用iPad

我在我的应用程序中使用ActionSheet.在我的iPhone上它可以工作,但它不在iPad模拟器上.

这是我的代码:

@IBAction func dialog(sender: AnyObject) {

    let optionMenu = UIAlertController(title: nil, message: "Choose Option", preferredStyle: .ActionSheet)
    let deleteAction = UIAlertAction(title: "Delete", style: .Default, handler: {

        (alert: UIAlertAction!) -> Void in
        println("Filtre Deleted")
    })

    let cancelAction = UIAlertAction(title: "Cancel", style: .Cancel, handler: {
        (alert: UIAlertAction!) -> Void in
        println("Cancelled")
    })

    optionMenu.addAction(deleteAction)
    optionMenu.addAction(cancelAction)

    self.presentViewController(optionMenu, animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)

而我的错误:

由于未捕获的异常'NSGenericException'而终止应用程序,原因是:'您的应用程序已呈现样式UIAlertControllerStyleActionSheet的UIAlertController().具有此样式的UIAlertController的modalPresentationStyle是UIModalPresentationPopover.您必须通过警报控制器的popoverPresentationController为此弹出窗口提供位置信息.您必须提供sourceView和sourceRect或barButtonItem.如果在显示警报控制器时不知道此信息,您可以在UIPopoverPresentationControllerDelegate方法-prepareForPopoverPresentation中提供它.

uiactionsheet ipad ios swift

78
推荐指数
5
解决办法
2万
查看次数

Info.plist实用程序错误:"无法打开Info.plist,因为没有这样的文件"

我遇到了似乎常见的错误,因为Xcode似乎找不到我的'Info.plist'文件.

我已经检查了这两个StackOverflow问题的答案(无法从Info.plist读取Objective C/Xcode错误:无法打开文件"Info.plist",因为没有这样的文件)...我是使用相对路径,并且plist文件位于正确的绝对位置.类型和位置正确,如下图所示:

plist路径

我最担心的是现在正在多个项目中发生这种情况,包括几个小时前我成功运行的项目!有谁知道怎么解决这个???

编辑我也尝试重新安装XCODE并替换plist文件.Xcode仍然无法找到'info.plist'.

注意我想补充说这是Xcode 6.2.X(我不记得究竟是哪个版本号,但它是Xcode 6.3.X之前的版本).

xcode objective-c relative-path info.plist ios

73
推荐指数
6
解决办法
8万
查看次数

如何检查字符串是否包含Swift中的字母?

我正在尝试检查特定字符串是否包含字母.

到目前为止,我已经看到了NSCharacterSet.letterCharacterSet()一组字母,但是我无法检查该集合中的字符是否在给定的字符串中.当我使用此代码时,我收到一条错误说明:

'人物'不能兑换成'unichar'

对于以下代码:

for chr in input{
    if letterSet.characterIsMember(chr){
        return "Woah, chill out!"
    }
}
Run Code Online (Sandbox Code Playgroud)

nscharacterset swift

23
推荐指数
2
解决办法
4万
查看次数

如何将AVAsset转换为NSData或将其保存到文件管理器

我正在尝试使用AVAsset录制音频文件然后在我将其存储在NSFileManager之后,之后将其转换为nsdata i Call API来存储它.

我成功创建AVAsset录制文件并使用第三方类播放SCPlayer.

现在的问题是我不知道如何使用AVAsset文件将其保存在文件管理器中,然后在调用API后将其转换为NSData.

有什么办法可以转换AVAssetNSData???

请帮忙...

iphone objective-c nsdata ios

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

在objective-c中打印数组?

我需要检查NSArray动态存储的值.我应该如何在Objective-C中打印数组值?

objective-c nsarray

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

在MacOS Mojave上通过Homebrew安装Python 2时出错

我在MacOS 10.14 Mojave Beta上安装Python 2.7时遇到了很多麻烦.

是的,我知道Python 2已预装在Mac上,但我需要为我的任务构建一个Python框架.

我已经尝试重新安装命令行工具,然后按照此处此处的建议安装Python 2.7 ,但仍然存在问题 - 以下是我的输出:

NickLaptop:~ nicholasarner$ brew reinstall python@2
==> Reinstalling python@2 
==> Downloading https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tar.xz
Already downloaded: /Users/nicholasarner/Library/Caches/Homebrew/python@2-2.7.15.tar.xz
==> ./configure --prefix=/usr/local/Cellar/python@2/2.7.15_1 --enable-ipv6 --datarootdir=/usr/l
==> make
==> make install PYTHONAPPSDIR=/usr/local/Cellar/python@2/2.7.15_1
==> make frameworkinstallextras PYTHONAPPSDIR=/usr/local/Cellar/python@2/2.7.15_1/share/python@
==> Downloading https://files.pythonhosted.org/packages/1a/04/d6f1159feaccdfc508517dba1929eb93a
Already downloaded: /Users/nicholasarner/Library/Caches/Homebrew/python@2--setuptools-39.2.0.zip
==> Downloading https://files.pythonhosted.org/packages/ae/e8/2340d46ecadb1692a1e455f13f75e596d
Already downloaded: /Users/nicholasarner/Library/Caches/Homebrew/python@2--pip-10.0.1.tar.gz
==> Downloading https://files.pythonhosted.org/packages/2a/fb/aefe5d5dbc3f4fe1e815bcdb05cbaab19
Already downloaded: /Users/nicholasarner/Library/Caches/Homebrew/python@2--wheel-0.31.1.tar.gz
==> make html
Last 15 lines from /Users/nicholasarner/Library/Logs/Homebrew/python@2/05.make:
    return build_main(argv)
  File "/usr/local/Cellar/sphinx-doc/1.7.5_1/libexec/lib/python2.7/site-packages/sphinx/cmd/build.py", line 22, in build_main
    from …
Run Code Online (Sandbox Code Playgroud)

python macos homebrew python-2.7 macos-mojave

13
推荐指数
1
解决办法
4678
查看次数

如何水平居中两个标签?

我有非常简单的要求,其中两个标签必须水平居中.所以,我选择了它们并水平选择了Editor-> align-> center.然后将容器约束的顶部空间添加到它们.我还需要标签来缩小/增加内容大小.但是,IB显示错误和几个警告.我可以通过在它们之间添加引脚(水平空间)来使标签缩小/增长,但在这种情况下它们不会居中.以下是截图:

在此输入图像描述

这是错误和警告:

在此输入图像描述

UPDATE theraven提出了一个有趣的建议,即使用虚拟视图将其水平居中并将两个标签固定到它上面.我删除了所有现有的约束,添加了这个虚拟视图和中心X +中心Y约束.然后为它添加了两个标签(添加了水平空间约束).但是,我仍然收到一堆错误和警告:

在此输入图像描述 在此输入图像描述

UPDATE2只是更新问题,但仍未找到有效答案.@Theraven解决方案适用于iPhone4,iPhone4S,iPhone5和iPhone5S,但它不是真正的中心,而是一种解决方法.因此,对于iPhone6和iPhone6 Plus,它不起作用,因为前导和尾随空格将被修复,并且不会自动调整大小的宽度.

objective-c interface-builder uilabel ios autolayout

12
推荐指数
2
解决办法
8921
查看次数

iOS设备的快速180度旋转会导致相机倒置

我已经实现了下面的代码来改变AVCaptureVideoSession基于以下内容的方向UIInterfaceOrientation:

- (AVCaptureVideoOrientation)interfaceOrientationToVideoOrientation:(UIInterfaceOrientation)orientation {
    switch (orientation) {
        case UIInterfaceOrientationPortrait:
            return AVCaptureVideoOrientationPortrait;
        case UIInterfaceOrientationPortraitUpsideDown:
            return AVCaptureVideoOrientationPortraitUpsideDown;
        case UIInterfaceOrientationLandscapeLeft:
            return AVCaptureVideoOrientationLandscapeLeft;
        case UIInterfaceOrientationLandscapeRight:
            return AVCaptureVideoOrientationLandscapeRight;
        default:
            break;
    }
    NSLog(@"Warning - Didn't recognise interface orientation (%ld)",(long)orientation);
    return AVCaptureVideoOrientationPortrait;
}
Run Code Online (Sandbox Code Playgroud)

这段代码几乎完美无缺.但是,出现的一个问题是,如果您快速将iOS设备旋转180度,相机将显示为颠倒.

以下是旋转前相机视图的样子:

在此输入图像描述

这是旋转后的样子:

在此输入图像描述

另外,这是我的实现viewDidLayoutSubviews:

- (void)viewDidLayoutSubviews {

    [super viewDidLayoutSubviews];

    previewLayer.frame = self.view.bounds;

    self.view.translatesAutoresizingMaskIntoConstraints = NO;
    previewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;
    [self.view.layer addSublayer:previewLayer];

    if (previewLayer.connection.supportsVideoOrientation) {
        previewLayer.connection.videoOrientation = [self interfaceOrientationToVideoOrientation:[UIApplication sharedApplication].statusBarOrientation];
    }
}
Run Code Online (Sandbox Code Playgroud)

这个180度旋转发生时有没有人知道为什么摄像机视图会颠倒?

objective-c uiinterfaceorientation ios avcapturesession viewdidlayoutsubviews

11
推荐指数
2
解决办法
1157
查看次数

应用程序在调用'tableView endUpdates'时崩溃

我目前正在UITableViewCell内部实现内联UIDate选择器的实现.

当我选择应该插入该单元格的正上方的单元格时,我能够显示和隐藏此选择器单元格,这是我期望的行为.但是,如果我在表视图中选择任何其他单元格,应用程序崩溃:

*** Assertion failure in -[UITableView _endCellAnimationsWithContext:], /SourceCache/UIKit_Sim/UIKit-3318.16.14/UITableView.m:1582
Run Code Online (Sandbox Code Playgroud)

看后接受的答案,这太问题,我添加了一个异常断点,我发现了该应用程序在调用轰然[tableView endUpdates];didSelectRowAtIndexPath:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [self.tableView deselectRowAtIndexPath:indexPath animated:YES];

    // Check to see if the "Only Alert From" row was selected. The cell with the picker should be below this one.
    if (indexPath.section == TimeOfDaySection && indexPath.row == HourTimeZoneRow  && self.timePickerIsShowing == NO){

        [tableView beginUpdates];
        [self showTimePicker];
        [tableView endUpdates];

    } else{
        [tableView beginUpdates];
        [self hideTimePicker];
        [tableView endUpdates];
        [self.tableView deselectRowAtIndexPath:indexPath animated:YES];
    } …
Run Code Online (Sandbox Code Playgroud)

objective-c uitableview didselectrowatindexpath ios

9
推荐指数
1
解决办法
8801
查看次数