小编Geo*_*ver的帖子

Swift UIImageView Stretched Aspect

UIImageView错误地渲染图像的大小.使用Scale Aspect Fit,如果UIImageView是正方形,则图像是正确的宽高比,在图像未填充的区域中具有透明度.

//Image is Square & Correct Size
var imageView = UIImageView(frame: CGRectMake(0, 50, 320, 320))
imageView.clipsToBounds = true
imageView.contentMode = UIViewContentMode.ScaleAspectFit

//Image is Rectangle & Incorrect Size
var imageView = UIImageView(frame: CGRectMake(0, 50, 320, 450))
imageView.clipsToBounds = true
imageView.contentMode = UIViewContentMode.ScaleAspectFit
Run Code Online (Sandbox Code Playgroud)

UIImageView需要触摸边缘并在屏幕的顶部和底部具有透明空间,并且内部图像需要保持其原始比率而不是拉伸更高.我附上了两张UIImageView内部图像渲染图像.

ImageView具有正确的Aspect ImageView有错误的Aspect

objective-c uiimageview ios swift

24
推荐指数
4
解决办法
6万
查看次数

使用AVCaptureVideoDataOutput或AVCaptureMovieFileOutput使用Swift捕获视频

我需要一些关于如何在不使用UIImagePicker的情况下捕获视频的指导.视频需要在按钮单击时启动和停止,然后将此数据保存到NSDocumentDirectory.我是swift的新手,所以任何帮助都会有用.

我需要帮助的代码部分是启动和停止视频会话并将其转换为数据.我创建了一个运行captureStillImageAsynchronouslyFromConnection的图片,并将此数据保存到NSDocumentDirectory.我已经设置了一个视频捕获会话,并准备好代码保存数据,但不知道如何从会话中获取数据.

var previewLayer : AVCaptureVideoPreviewLayer?
var captureDevice : AVCaptureDevice?
var videoCaptureOutput = AVCaptureVideoDataOutput()

let captureSession = AVCaptureSession()

override func viewDidLoad() {
    super.viewDidLoad()

    captureSession.sessionPreset = AVCaptureSessionPreset640x480
    let devices = AVCaptureDevice.devices()

    for device in devices {
        if (device.hasMediaType(AVMediaTypeVideo)) {
            if device.position == AVCaptureDevicePosition.Back {
                captureDevice = device as? AVCaptureDevice
                if captureDevice != nil {
                    beginSession()
                }
            }   
        }
    }
}

func beginSession() {
    var err : NSError? = nil
    captureSession.addInput(AVCaptureDeviceInput(device: captureDevice, error: &err)) …
Run Code Online (Sandbox Code Playgroud)

avcapturesession swift

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

标签 统计

swift ×2

avcapturesession ×1

ios ×1

objective-c ×1

uiimageview ×1