小编wgr*_*r03的帖子

裁剪为形状的 SwiftUI 图像在上下文菜单中具有透明填充

在我的 SwiftUI 应用程序中,我的资产目录中有一个长宽比为 1:1 的图像。在我的代码中,我有一个Image具有不同纵横比的视图,可以将图像裁剪为新尺寸:

Image("My Image")
    .resizable()
    .aspectRatio(contentMode: .fill)
    .frame(width: 300, height: 250)
    .clipped()
Run Code Online (Sandbox Code Playgroud)

图像裁剪为纵横比

但是当我将上下文菜单附加到该图像(使用contextMenu修饰符)时,原始纵横比仍然存在,但具有透明填充:

使用上下文菜单裁剪到纵横比的图像

如何将图像剪裁到上下文菜单内的新框架,以便没有填充?

ios swift swiftui ios14

9
推荐指数
2
解决办法
682
查看次数

设置备用应用程序图标在iOS 10.3中返回错误3072:"操作已取消"

我正在尝试为我的应用程序设置备用图标iOS 10.3,但每次调用方法Xcode都会返回:

错误域= NSCocoaErrorDomain代码= 3072"操作已取消."

我在这篇文章中使用@KlimczakM的答案来设置图标(下面称为方法),但我使用自己的方法从设置中加载首选图标:specifyIcon

let iconSetting = userDefaults.string(forKey: "appIconSetting")
print("The icon setting is: \(iconSetting ?? "error getting appIconSetting.")")

switch iconSetting! {
case "white":
    specifyIcon(nil)
case "dark":
    specifyIcon("dark")
case "text":
    specifyIcon("text")
case "textdark":
    specifyIcon("textdark")
case "rainbow":
    specifyIcon("rainbow")
default:
    specifyIcon(nil)
    print("ERROR setting icon.")
}

func specifyIcon(_ icon: String?) {
    //(@KlimczakM's answer)
}
Run Code Online (Sandbox Code Playgroud)

在我的Info.plist我有五个图标; white,dark,rainbow,text,和textdark:

<key>CFBundleIcons</key>
    <dict>
        <key>CFBundleAlternateIcons</key>
        <dict>
            <key>white</key>
            <dict>
                <key>CFBundleIconFiles</key>
                <array> …
Run Code Online (Sandbox Code Playgroud)

icons ios swift swift3

7
推荐指数
2
解决办法
1808
查看次数

Swift可选类型中"可选的可选"的目的是什么?

我在Swift Tests源代码中找到了一个有趣的函数:

func test(_ v: A????, _ cast: (A????) -> B?)
Run Code Online (Sandbox Code Playgroud)

由于Type?只是语法糖Optional<Type>,这意味着参数的类型v可以重写为Optional<Optional<Optional<Optional<A>>>>.

我知道这个功能是用来测试可选类型,所以它肯定是过分的论据去vcast,但什么是实际使用具有"可选的可选等"的 输入Swift(如果有的话)?

optional swift

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

标签 统计

swift ×3

ios ×2

icons ×1

ios14 ×1

optional ×1

swift3 ×1

swiftui ×1