我想使用AutoLayout以一种让人联想到UIImageView的宽高比内容模式的方式来调整和布局视图.
我在Interface Builder的容器视图中有一个子视图.子视图具有一些我希望尊重的固有宽高比.容器视图的大小在运行时之前是未知的.
如果容器视图的宽高比比子视图宽,那么我希望子视图的高度等于父视图的高度.
如果容器视图的宽高比高于子视图,那么我希望子视图的宽度等于父视图的宽度.
在任何一种情况下,我都希望子视图在容器视图中水平和垂直居中.
有没有办法在Xcode 6或以前的版本中使用AutoLayout约束来实现这一点?理想情况下使用Interface Builder,但如果没有,也许可以通过编程方式定义这些约束.
我相信过去常常这样做captureOutput.minFrameDuration
.但是,这在iOS 5中已弃用.
相反,我显然需要使用AVCaptureConnection
's video.minFrameDuration
.所以我有我的输入,我的输出,我将它们添加到捕获会话 - 我在哪里可以访问捕获连接?我认为它是由会议创建的,但在哪里?
我可以尝试使用addInputWithNoConnections
和添加I/O addOutputWithNoConnections
,然后手动创建连接.但是,设置最大帧速率似乎有点麻烦.另外,Xcode抱怨这些方法不存在.
iPhone 4S中的两个(三种支持的)像素格式是:
kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange
kCVPixelFormatType_420YpCbCr8BiPlanarFullRange
Run Code Online (Sandbox Code Playgroud)
有没有人知道这种差异,并且使用一个而不是另一个有什么后果/好处吗?
我相信你曾经能够通过执行如下命令,通过命令行(通过SSH)在越狱的iOS设备上启动GUI应用程序:
launch com.apple.Calculator
Run Code Online (Sandbox Code Playgroud)
但这不适用于我的iOS 5设备(launch not found
).
我也尝试过:
launchctl start com.apple.Calculator
Run Code Online (Sandbox Code Playgroud)
但这也给了我一个错误(no such process
).
如果我使用KVO观察属性,如果观察者是泛型类,那么我收到以下错误:
-observeValueForKeyPath:ofObject:change:context:收到消息但未处理.
以下设置简洁地演示了该问题.定义一些简单的类:
var context = "SomeContextString"
class Publisher : NSObject {
dynamic var observeMeString:String = "Initially this value"
}
class Subscriber<T> : NSObject {
override func observeValueForKeyPath(keyPath: String,
ofObject object: AnyObject,
change: [NSObject : AnyObject],
context: UnsafeMutablePointer<Void>) {
println("Hey I saw something change")
}
}
Run Code Online (Sandbox Code Playgroud)
实例化它们并尝试与订阅者一起观察发布者,就像这样(在空白项目的UIViewController子类中完成):
var pub = Publisher()
var sub = Subscriber<String>()
override func viewDidLoad() {
super.viewDidLoad()
pub.addObserver(sub, forKeyPath: "observeMeString", options: .New, context: &context)
pub.observeMeString = "Now this value"
}
Run Code Online (Sandbox Code Playgroud)
如果我从类定义中删除泛型类型T然后一切正常,但否则我得到"收到但未处理的错误".我错过了一些明显的东西吗?还有其他我需要做的事情,还是仿制品不应该与KVO合作?
我正在将一个库移植到iPhone上,它可以拨打电话__clear_cache
.一个小小的研究挖掘了它的作用的漂亮解释.
本文列出了Linux,Windows甚至Android的库函数.我不认为iOS设备有相同的功能吗?或者我可以实现的其他一些解决方法?
ios ×6
avfoundation ×2
arm ×1
autolayout ×1
colors ×1
command-line ×1
generics ×1
image ×1
jailbreak ×1
launch ×1
objective-c ×1
swift ×1
xcode ×1