小编Sam*_*Sam的帖子

当UIAlertcontroller在Swift中出现时,KEEP键盘是否打开?

弹出警报时,键盘将被解除.我到处寻找,但没有找到保持键盘可见的解决方案.当提示警报时,文本字段似乎会自动重新响应第一响应者,因为警报是以模态方式呈现的.如何将键盘保持在此警报之后,即使没有可能的交互,文本字段仍然可以编辑?

keyboard ios presentviewcontroller swift uialertcontroller

14
推荐指数
1
解决办法
5104
查看次数

如何在UITabBarController中加载所有视图?

我没有在与此问题相关的帖子中找到相关和最新的答案.

我想在启动时加载所有viewcontrollers.目前它按预期启动,但是当我点击一个条形项目(第一次)时,加载它有一点延迟,因为它尚未加载.

我怎么能这样做是Swift?

谢谢.

load launch uitabbarcontroller ios swift

11
推荐指数
3
解决办法
7638
查看次数

Swift 3:如何在视频上添加水印?AVVideoCompositionCoreAnimationTool iOS 10问题

此代码曾用于在iOS9上为视频添加水印和文本,但由于iOS10它不再起作用.已经提交了一个iOS 10错误,但Apple没有回答.我无法实现任何解决方法来在视频上添加水印和文字.使用此代码有时会成功导出视频,但大部分时间都不会导出.

我应该如何使用,AVVideoCompositionCoreAnimationTool以便它像在iOS9上一样工作.

let videoComposition: AVMutableVideoComposition = AVMutableVideoComposition()

videoComposition.frameDuration = CMTimeMake(1, 60)
videoComposition.renderSize = CGSize(width: clipVideoTrack.naturalSize.height, height: clipVideoTrack.naturalSize.height)


let instruction: AVMutableVideoCompositionInstruction = AVMutableVideoCompositionInstruction()

instruction.timeRange = CMTimeRangeMake(kCMTimeZero, CMTimeMakeWithSeconds(60, 30))

// transformer is applied to set the video in portrait otherwise it is rotated by 90 degrees
let transformer: AVMutableVideoCompositionLayerInstruction =
    AVMutableVideoCompositionLayerInstruction(assetTrack: clipVideoTrack)

let t1: CGAffineTransform = CGAffineTransform(translationX: clipVideoTrack.naturalSize.height, y: -(clipVideoTrack.naturalSize.width - clipVideoTrack.naturalSize.height)/2)

let t2: CGAffineTransform = t1.rotated(by: CGFloat(M_PI_2))

var finalTransform: CGAffineTransform = t2

transformer.setTransform(finalTransform, at: kCMTimeZero)

instruction.layerInstructions …
Run Code Online (Sandbox Code Playgroud)

video ios avvideocomposition avassetexportsession swift

10
推荐指数
2
解决办法
6355
查看次数

iOS Swift:视频缩略图错误

我正在使用以下代码创建视频缩略图,并且在大多数情况下都可以使用。但是有时它会引发错误并且不会创建缩略图。我不明白为什么它有时不起作用。

这是我创建视频缩略图的方法:

let asset = AVAsset(URL: url)
let imageGenerator = AVAssetImageGenerator(asset: asset)
imageGenerator.appliesPreferredTrackTransform = true

do {
    let cgImage = try imgGenerator.copyCGImageAtTime(CMTimeMake(1, 30), actualTime: nil)
    let uiImage = UIImage(CGImage: cgImage)
    imageview.image = uiImage  
}
catch let error as NSError
{
    print("Image generation failed with error \(error)")
}
Run Code Online (Sandbox Code Playgroud)

它在大多数情况下有效,当它不起作用时会引发此错误:

Error generating thumbnail: Error Domain=AVFoundationErrorDomain Code=-11800 "The operation could not be completed" UserInfo={NSLocalizedDescription=The operation could not be completed, NSUnderlyingError=0x17658520 {Error Domain=NSOSStatusErrorDomain Code=-12792 "(null)"}, NSLocalizedFailureReason=An unknown error occurred (-12792)}
Run Code Online (Sandbox Code Playgroud)

我不知道为什么它会抛出这个错误并且没有找到堆栈溢出的任何解决方案,即使其他人面临同样的问题。

error-handling avplayer video-thumbnails swift

5
推荐指数
1
解决办法
1176
查看次数

Swift:UIGraphicsBeginImageContextWithOptions比例因子设置为0但未应用

我曾经使用以下代码调整图像大小,并且它曾经在比例因子上工作得很好.现在使用Swift 3我无法弄清楚为什么不考虑比例因子.调整图像大小但未应用比例因子.你知道为什么吗?

let layer = self.imageview.layer

UIGraphicsBeginImageContextWithOptions(layer.bounds.size, true, 0)

layer.render(in: UIGraphicsGetCurrentContext()!)
let scaledImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()

print("SCALED IMAGE SIZE IS \(scaledImage!.size)")
print(scaledImage!.scale)
Run Code Online (Sandbox Code Playgroud)

例如,如果我在iPhone 5上截取屏幕截图,图像大小将为320*568.我以前用相同的代码得到640*1136 ..什么可能导致比例因子不被应用?

当我打印图像的比例时,它将根据设备分辨率打印1,2或3,但不会应用于从上下文拍摄的图像.

scale image-resizing ios uigraphicscontext swift

4
推荐指数
1
解决办法
4065
查看次数