小编Zon*_*ame的帖子

如何在Swift中使用XIB文件初始化/实例化自定义UIView类

我有一个名为class MyClass的类UIView,我想用XIB文件初始化.我不知道如何使用调用的xib文件初始化此类View.xib

class MyClass: UIView {

    // what should I do here? 
    //init(coder aDecoder: NSCoder) {} ?? 
}
Run Code Online (Sandbox Code Playgroud)

ios swift

126
推荐指数
8
解决办法
14万
查看次数

如何在带参数的枚举上进行if-else比较

语言:Swift2.3

例如,让我向您展示不同类型的枚举

enum Normal {
    case one
    case two, three
}

enum NormalRaw: Int {
    case one
    case two, three
}

enum NormalArg {
    case one(Int)
    case two, three
}   
Run Code Online (Sandbox Code Playgroud)

Switch 可以在所有三个枚举上使用,如下所示:

var normal: Normal = .one
var normalRaw: NormalRaw = .one
var normalArg: NormalArg = .one(1)

switch normal {
    case .one: print("1")
    default: break
}

switch normalRaw {
    case .one: print(normalRaw.rawValue)
    default: break
}

switch normalArg {
    case .one(let value): print(value)
    default: break
}
Run Code Online (Sandbox Code Playgroud)

在if-else语句中虽然我只能对Normal和进行比较NormalRaw …

enums swift

29
推荐指数
2
解决办法
2万
查看次数

print()到控制台日志的颜色

代码是:

let redColor = "\u{001B}[0;31m"
var message = "Some Message"
print(redColor + message)  //This doesnt work
print("\(redColor)\(message)" //This also doesnt work
Run Code Online (Sandbox Code Playgroud)

输出看起来像这样:

[0;31mSome Message
Run Code Online (Sandbox Code Playgroud)

我也读过这篇文章:使用Swift命令行工具进行颜色输出,它似乎不起作用.

我不想使用库.

printing debugging logging colors swift

12
推荐指数
3
解决办法
7658
查看次数

如何将accessibilityIdentifier 设置为UIAlertActions?

首先是的,我见过这个问题,但目前没有答案。

根本问题是我目前XCUITesting是本地化的应用程序,因此UIAlertActions 已本地化,因此我找不到按钮。

我可以做一个 hack,其中我将包含Localizable.strings我的 UITesting 包中的所有内容,然后在尝试获取这样的按钮时获取本地化版本。

let localizedAlertTitle = ...(some function to fetch localized name)
let localizedButtonName = ...(some function to fetch localized name)
self.app
    .alerts[localizedAlertTitle]
    .buttons[localizedButtonName]
    .tap()
Run Code Online (Sandbox Code Playgroud)

另一种方法是可能做这个如此回答所说的黑客,但它太hacky并且有样板。

有没有办法accessibilityIdentifier在 UIAlertAction 上设置?

accessibility swift uitest

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

如何在颤振中形成这样的圆形?

我试图在我的颤振项目中使用这样的圆形。我尝试在容器中使用 border-radius 。但它并没有像我预期的那样工作。

那么,我怎样才能拥有像这张给定图片的形状呢?

图片

我尝试使用这样的容器。

    Container(
            height: 72,
            width: 211,
            decoration: BoxDecoration(
              color: Colors.blue,
              borderRadius: BorderRadius.only(
                topRight: Radius.circular(50),
                topLeft: Radius.circular(30))
            ),
          )
Run Code Online (Sandbox Code Playgroud)

user-interface geometry shapes dart flutter

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

无法下载APNs Auth Key

我的团队在开发人员门户网站中创建了APN Auth Key的最大限制我无法下载其中任何一个,因为downlod按钮变暗了!

任何人都知道为什么会这样?如何使用它而不会使它们中的任何一个过期并创建一个新的?

在此输入图像描述

xcode key apple-push-notifications apple-developer

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

在 vs 代码中未检测到物理设备(iPad)以进行颤动,但已检测到并且可以正常工作以在 Xcode 中进行调试

这是我的环境

  • Xcode 版本:11.1 (11A1027)
  • 物理设备: - iPad mini 2 (IOS 12.4.2)
  • VSCode 版本:1.39.2
  • Flutter 版本:1.9.1+hotfix.6

当我使用 Flutter 项目的 iOS 部分并使用 XCode 运行它的物理设备时,它会检测到设备并且工作正常,但是我不知何故无法在 VSCode 的可用设备部分看到该设备。

但是 VSCode 可以检测并在模拟器上正常工作。

我也跑去flutter doctor看连接的设备,但它再次没有显示连接的物理设备,而是显示模拟器创建的设备。

ios flutter vscode-debugger

7
推荐指数
3
解决办法
3946
查看次数

如何获取通知中心显示的推送通知

所有这些都来自我目前正在开发的一个应用程序,我们称这个应用程序为SampleApp

如何从我的手机托盘中获取这些通知的列表

在此处输入图片说明

是的,我知道我可以通过此代码获取通知

if #available(iOS 10.0, *) {           
    UNUserNotificationCenter.current().getPendingNotificationRequests { (requests) in
        print("here are the iOS 10 notifs \(requests)")
    }         
} else {
    let requests = (UIApplication.shared.scheduledLocalNotifications ?? [])
    print("here are the NON iOS 10 notifs \(requests)")
}
Run Code Online (Sandbox Code Playgroud)

但此代码的问题在于我只能获取我离线创建的通知,而不能获取来自Apple 推送通知服务器 (APNS) 的通知

通过离线创建我的意思是,scheduled UILocalNotifications,并且由于Push Notifications不是UILocalNotifications 我不知道该怎么做

你可能会问的一些问题

  1. 这些通知是来自我的应用程序吗?

    • 是的
  2. 我使用的didReceiveRemoteNotificationAppDelegate

    • 是的,但那是不同的。
  3. 我的远程通知是否有效/来自 APNS

    • 是的。
  4. 我注册远程通知的代码是什么样的?

    if #available(iOS 10.0, *) {
        let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound] …
    Run Code Online (Sandbox Code Playgroud)

notifications system-tray swift

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

具有特定类型的对象数组

我有一个对象数组,例如

var objects: [AnimalDetailModel] = ...
Run Code Online (Sandbox Code Playgroud)

还有三堂课

  • AnimalDetailModel 是基类

  • DogDetailModel 是延伸的课程 AnimalDetailModel

  • CatDetailModel 是延伸的课程 AnimalDetailModel

从A datasource创建并添加DogDetailModel,,CatDetailModelAnimalDetailModel的数组objects。并填充的tableView当我想要的是得到一个对象表单对象,并检查它是否是类型的DogDetailModelCatDetailModelAnimalDetailModel

if let objects[indexPath.row] as? DogDetailModel {    
    return DogTableCell    
} else if let objects[indexPath.row] as? CatDetailModel {    
    return CatTableCell     
} else {    
    return AnimalTableCell    
}
Run Code Online (Sandbox Code Playgroud)

这样做时,我得到的类型AnimalDetailModel没有下标成员。我们如何从对象数组中检查对象的类型?

arrays swift

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

UITableViewAutomaticDimension 不适用于具有特征变化的 Xcode 11 和 iOS 13

我在xib 中有注册到tableView 的视图并通过UITableViewAutomaticDimension 计算高度。并且在更新到 Xcode 11 和 iOS 13 之前一切正常,现在高度小且不正确。

我注意到,如果我删除所有约束特征变化,它似乎又可以工作了。但是,如果我为约束添加至少一个特征变化(无论是水平还是垂直) 如这张图片 正如这张图片

即使有两次检查,它也会中断。但是这种变化效果很好,不会破坏布局

但是这种变化效果很好,不会破坏布局.

也许是 Xcode 中的 bug 之类的。有没有人遇到过这个问题?

traits uitableview autolayout ios13 xcode11

5
推荐指数
0
解决办法
455
查看次数