小编Dee*_*rma的帖子

适用于iPhone 6/6 +的UINavigationBar自定义映像

我有一个由设计师为UINavigationBar制作的自定义图像.我有iPhone的640x128和640x88尺寸切片.我的问题:

  1. 如果我隐藏状态栏,我是否使用640x88尺寸或者我仍然需要使用640x128,

  2. 对于iPhone 6/6 +和iPad,我不知道如何重复使用这些图像,因为导航栏的大小和宽高比不同.

仅供参考,图像使用从上到下(Y轴)的渐变颜色制作.即使我使用可伸缩的UIImage,如何解决每个设备上不同高度的导航栏问题?我需要针对iOS 7及以上版本.

uinavigationbar uinavigationcontroller ios ios7 iphone-6-plus

2
推荐指数
1
解决办法
1942
查看次数

指针解除引用Swift

C&中Objective C,我们用于取消引用指针并获取如下值:

  p->a = 1
  or int x = p->a
Run Code Online (Sandbox Code Playgroud)

但是我找不到Swift中的等价物.我有一个返回类型UnsafePointer ,AudioStreamBasicDescription?我需要读取其成员值.

pointers dereference swift

2
推荐指数
1
解决办法
1112
查看次数

Swift URL 资源说明符不可用

我正在将代码从 Objective-C 翻译成 Swift 3,并且在我编写这段代码时

   let url = URL(string:"http://example.com/index.html")
   var formattedURL:String = url!.resourceSpecifier
Run Code Online (Sandbox Code Playgroud)

我收到错误消息“'resourceSpecifier' 不可用:使用path, query, and fragmentinstead ”。我该如何解决?

url ios swift swift3

2
推荐指数
1
解决办法
1002
查看次数

UINavigationController 向下滑动手势检测

UINavigationController 以模态形式呈现为表单,可以向下滑动以关闭。这个手势是 iOS 原生的,不是我的。问题出在 iOS 13 上,它在被关闭后不会触发父视图控制器中的 viewWillAppear 。所以我需要一种方法来知道视图控制器正在被解除或被系统手势解除。在这种情况下,如何检测视图控制器的解除?

uiviewcontroller uikit uinavigationcontroller ios swift

2
推荐指数
1
解决办法
2625
查看次数

Swift 'fabs' 已弃用:重命名为 'abs'

当我尝试在 Swift 5 中的 CGFloat 数字上使用 fabs 时,我收到以下警告:

'fabs' is deprecated: renamed to 'abs'
Run Code Online (Sandbox Code Playgroud)

但是当我使用 abs 时,它的参数只是整数,而不是浮点数或双精度数。如果这很重要,我正在使用 XCode 12。我该如何解决?

xcode ios swift

2
推荐指数
1
解决办法
302
查看次数

Swift Expression从“ Any ??”隐式强制 去任何?'

我在Swift中有以下代码:

 var dictionary: [String: Any?]? 

 fileprivate func value(forKey key: Key) -> Any? {
    if let dictionary = self.dictionary {
        return dictionary[key.rawValue]
    }

     ...
 }
Run Code Online (Sandbox Code Playgroud)

我收到一个警告:“任何人都隐含地强迫表达?” 去任何?' 在return语句中。我究竟做错了什么?

swift

1
推荐指数
2
解决办法
84
查看次数

Swift 转义块声明

我有以下代码:

typealias queryCompletionBlock = (_ finished:Bool) -> Void

func queryForParams(@escaping completion:queryCompletionBlock)
Run Code Online (Sandbox Code Playgroud)

但我收到一个错误

Attribute can only be applied to types, not declarations
Run Code Online (Sandbox Code Playgroud)

问题是函数需要块才能转义。如何使用转义块声明上述函数?

ios swift

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

在 iOS 13 上暂停时强制重绘 AVPlayerLayer

我使用 CoreImage 将实时效果应用于使用 AVPlayer 播放的视频。问题是当播放器暂停时,如果您使用滑块调整过滤器参数,则不会应用过滤器。

  let videoComposition = AVMutableVideoComposition(asset: asset, applyingCIFiltersWithHandler: {[weak self] request in

        // Clamp to avoid blurring transparent pixels at the image edges
        let source = request.sourceImage.clampedToExtent()
        let output:CIImage

        if let filteredOutput = self?.runFilters(source, filters: array)?.cropped(to: request.sourceImage.extent) {
             output = filteredOutput
         } else {
             output = source
         }


        // Provide the filter output to the composition
        request.finish(with: output, context: nil)
    })
Run Code Online (Sandbox Code Playgroud)

作为解决方法,我使用了这个在 iOS 12.4 之前有效的答案,但在 iOS 13 beta 6 中不再有效。寻找适用于 iOS 13 的解决方案。

core-image avfoundation ios avplayer cifilter

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

Swift 枚举具有不同类型的关联值

我有一个这样的 Swift 枚举:

public enum AnimatationType {

    case position(Float)
    case position([Keyframe<Float>])
    case scale(Float)
    case scale([Keyframe<Float>])
    case rect(CGRect)
    case rect([Keyframe<CGRect>])
    case transform(CGAffineTransform)
    case transform([Keyframe<CGAffineTransform>])
    ...
    ...
}
Run Code Online (Sandbox Code Playgroud)

正如我们所看到的,对于每种类型,都有两个可能的值 - 类型 T 的固定值或具有值类型 T ([Keyframe]) 的关键帧数组。我想知道我是否可以做些什么来避免在枚举中重复相同的名称并合并两个枚举大小写类型?或者我以错误的方式建模?

enums ios swift swift5

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

XCode 13 删除派生数据后无法删除代码行

我删除了项目的派生数据,之后我无法删除项目中的任何代码行。当我删除函数中的任何字符时,XCode 13 就会复制该行,如下图所示。

在此输入图像描述

而且连评论都删不掉。该代码现在甚至无法构建。我该怎么办?

我试图删除一大块注释代码,它删除了,但随后在另一个函数中再次向上显示了已删除的代码。

xcode ios swift xcode13

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