我正在使用Picker View来允许用户为整个应用选择颜色主题.我打算改变导航栏,背景和标签栏的颜色(如果可能的话).我一直在研究如何做到这一点,但找不到任何Swift示例.任何人都可以给我一个代码示例,我需要用来更改导航栏颜色和导航栏文本颜色?(Picker View已设置,我只是在寻找更改UI颜色的代码)
谢谢.
我在我的应用程序中使用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中提供它.
我遇到了似乎常见的错误,因为Xcode似乎找不到我的'Info.plist'文件.
我已经检查了这两个StackOverflow问题的答案(无法从Info.plist读取和Objective C/Xcode错误:无法打开文件"Info.plist",因为没有这样的文件)...我是使用相对路径,并且plist文件位于正确的绝对位置.类型和位置正确,如下图所示:

我最担心的是现在正在多个项目中发生这种情况,包括几个小时前我成功运行的项目!有谁知道怎么解决这个???
编辑我也尝试重新安装XCODE并替换plist文件.Xcode仍然无法找到'info.plist'.
注意我想补充说这是Xcode 6.2.X(我不记得究竟是哪个版本号,但它是Xcode 6.3.X之前的版本).
我正在尝试检查特定字符串是否包含字母.
到目前为止,我已经看到了NSCharacterSet.letterCharacterSet()一组字母,但是我无法检查该集合中的字符是否在给定的字符串中.当我使用此代码时,我收到一条错误说明:
'人物'不能兑换成'unichar'
对于以下代码:
for chr in input{
if letterSet.characterIsMember(chr){
return "Woah, chill out!"
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用AVAsset录制音频文件然后在我将其存储在NSFileManager之后,之后将其转换为nsdata i Call API来存储它.
我成功创建AVAsset录制文件并使用第三方类播放SCPlayer.
现在的问题是我不知道如何使用AVAsset文件将其保存在文件管理器中,然后在调用API后将其转换为NSData.
有什么办法可以转换AVAsset成NSData???
请帮忙...
我需要检查NSArray动态存储的值.我应该如何在Objective-C中打印数组值?
我在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) 我有非常简单的要求,其中两个标签必须水平居中.所以,我选择了它们并水平选择了Editor-> align-> center.然后将容器约束的顶部空间添加到它们.我还需要标签来缩小/增加内容大小.但是,IB显示错误和几个警告.我可以通过在它们之间添加引脚(水平空间)来使标签缩小/增长,但在这种情况下它们不会居中.以下是截图:

这是错误和警告:

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

UPDATE2只是更新问题,但仍未找到有效答案.@Theraven解决方案适用于iPhone4,iPhone4S,iPhone5和iPhone5S,但它不是真正的中心,而是一种解决方法.因此,对于iPhone6和iPhone6 Plus,它不起作用,因为前导和尾随空格将被修复,并且不会自动调整大小的宽度.
我已经实现了下面的代码来改变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
我目前正在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) ios ×7
objective-c ×6
swift ×3
autolayout ×1
homebrew ×1
info.plist ×1
ipad ×1
iphone ×1
macos ×1
macos-mojave ×1
nsarray ×1
nsdata ×1
python ×1
python-2.7 ×1
uilabel ×1
uitableview ×1
xcode ×1