Tag: ios

iOS 10 – 更改相机,麦克风和照片库的权限,导致应用程序崩溃

iOS 10现在需要用户权限来访问媒体库,照片,相机和其他硬件。 解决这个问题的方法是将他们的密钥添加到info.plist ,为用户描述我们如何使用他们的数据, 我只能find几个键 NSPhotoLibraryUsageDescription NSMicrophoneUsageDescription NSCameraUsageDescription 我想知道是否有更多的键也适用于其他硬件,如在iOS 10 如果你没有提供info.plist和正确的键说明你的应用程序将崩溃,如果使用XCode – 8testing版。

调整高宽比的UIImage?

我使用这段代码来调整iPhone上的图像大小: CGRect screenRect = CGRectMake(0, 0, 320.0, 480.0); UIGraphicsBeginImageContext(screenRect.size); [value drawInRect:screenRect blendMode:kCGBlendModePlusDarker alpha:1]; UIImage *tmpValue = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); 只要图像的宽高比与新resize的图像的高宽比相匹配,哪个效果很好。 我想修改这个,以保持正确的长宽比,只是在图像没有出现的地方放一个黑色的背景。 所以我仍然会得到一个320×480的图像,但在顶部和底部或侧面有黑色,这取决于原始图像的大小。 有没有一种简单的方法来做到这一点类似于我在做什么? 谢谢!

我怎样才能做关键值观察,并得到一个UIView帧的KVOcallback?

我想观察UIView frame , bounds或center属性的变化。 我怎样才能使用键值观察来实现呢?

在数组上使用NSUserDefaults

我正在尝试使用NSUserDefaults将数组保存到我的应用程序的核心数据。 我认为这将是很好的使用NSUserDefaults,但问题是,无论我把代码,创build默认它抛出了SIGABRT错误。 这是创build默认的代码: let levelArrayDefault = NSUserDefaults.standardUserDefaults() levelArrayDefault.setValue(levelsArray, forKey: "levelsArray") levelArrayDefault.synchronize() levelsArray是一个List对象的数组: class List: NSObject, NSCoding { // MARK: Properties var name: String var AnswersArray = [Answer]() init?(name: String) { // Initialize stored properties. self.name = name if name.isEmpty { return nil } } required init(coder decoder: NSCoder){ self.AnswersArray = (decoder.decodeObjectForKey("AA") as? [Answer])! self.name = […]

在Swift中在视图控制器之间传递数据

我想转换一个应用程序从Objective-C到Swift,但我找不到如何使用Swift在视图之间传递数据。 我的Objective-C代码是 UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; AnsViewController *ansViewController; ansViewController = [storyBoard instantiateViewControllerWithIdentifier:@"ansView"]; ansViewController.num = theNum; [self presentViewController:ansViewController animated:YES completion:nil]; 这样做基本上是把variables,theNum,并把它传递给variablesnum,在不同的视图控制器上。 我知道这可能是一个简单的问题,但我对Swift很困惑,所以如果有人可以解释他们是如何改变它的Swift,将不胜感激! 谢谢

#warning:C语言的陈述已被弃用,并将在未来版本的Swift中删除

我只是用swift 2.2下载一个新的Xcode(7.3)。 它有一个警告: C语言的陈述已被弃用,并将在未来版本的Swift中被删除。 我怎样才能解决这个警告?

如何处理iOS设备被locking或其他应用程序时播放的背景audio?

使用OpenFrameworks为iOSdevise生成音乐系统,我需要提供一种模式,用户可以在此模式下聆听应用程序产生的音乐: 该设备被locking 用户使用另一个应用程序 一些像BLOOM或闹钟这样的应用程序就是这样工作的,并build议用户使用一个开关来启用/禁用此function。 任何提示呢?

Segue with Swift发送数据

我有两个视图控制器和两个视图。 在我的第一个视图中,我将variables“currentUser”设置为false。 我需要能够在第二个视图控制器中设置“currentUser”为true。 当试图从第二个视图中引用'currentUser'时,它不会像第一个视图控制器中定义的'currentUser'那样被拾取。 我如何通过segue传递variables?

如何确定注释是否在MKPolygonView(iOS)中

我试图计算一个特定的注释(如用户位置的蓝色圆圈)或MKPinAnnotation是否在MapView的MKPolygon图层内。 任何build议来实现这一目标?

在Swift中,我怎么能声明一个符合一个或多个协议的特定types的variables?

在Swift中,我可以通过声明如下来明确地设置一个variables的types: var object: TYPE_NAME 如果我们想更进一步,并声明一个符合多个协议的variables,我们可以使用protocol声明: var object: protocol<ProtocolOne,ProtocolTwo>//etc 如果我想声明一个符合一个或多个协议并且也是特定基类types的对象呢? Objective-C的等价物看起来像这样: NSSomething<ABCProtocolOne,ABCProtocolTwo> * object = …; 在Swift中,我期望它看起来像这样: var object: TYPE_NAME,ProtocolOne//etc 这使我们能够灵活处理基本types的实现以及协议中定义的添加接口。 还有另一个更明显的方式,我可能会失踪? 例 作为一个例子,说我有一个UITableViewCell工厂负责返回符合协议的单元格。 我们可以很容易地设置一个返回符合协议的单元的通用函数: class CellFactory { class func createCellForItem<T: UITableViewCell where T:MyProtocol >(item: SpecialItem,tableView: UITableView) -> T { //etc } } 后来我想把这些细胞出院,同时利用types和协议 var cell: MyProtocol = CellFactory.createCellForItem(somethingAtIndexPath) as UITableViewCell 这将返回一个错误,因为表视图单元格不符合协议… 我想能够指定单元格是一个UITableViewCell并符合variables声明中的MyProtocol ? 理由 如果您熟悉Factory […]