小编Nir*_*ngh的帖子

如何在iOS 8中正确呈现popover

我正在尝试将UIPopoverView添加到我的Swift iOS 8应用程序,但我无法访问PopoverContentSize属性,因为popover没有显示正确的形状.我的代码:

var popover: UIPopoverController? = nil 

    func addCategory() {

    var newCategory = storyboard.instantiateViewControllerWithIdentifier("NewCategory") as UIViewController
    var nav = UINavigationController(rootViewController: newCategory)
    popover = UIPopoverController(contentViewController: nav)
    popover!.setPopoverContentSize(CGSizeMake(550, 600), animated: true)
    popover!.delegate = self
    popover!.presentPopoverFromBarButtonItem(self.navigationItem.rightBarButtonItem, permittedArrowDirections: UIPopoverArrowDirection.Any, animated: true)
}
Run Code Online (Sandbox Code Playgroud)

输出:

在此输入图像描述

当我通过UIPopoverPresentationController做同样的事情时,我仍然没有完成它.这是我的代码:

func addCategory() {

    var popoverContent = self.storyboard.instantiateViewControllerWithIdentifier("NewCategory") as UIViewController
    var nav = UINavigationController(rootViewController: popoverContent)
    nav.modalPresentationStyle = UIModalPresentationStyle.Popover
    var popover = nav.popoverPresentationController as UIPopoverPresentationController
    popover.delegate = self
    popover.popoverContentSize = CGSizeMake(1000, 300)
    popover.sourceView = self.view
    popover.sourceRect = CGRectMake(100,100,0,0)

    self.presentViewController(nav, animated: true, …
Run Code Online (Sandbox Code Playgroud)

uipopovercontroller ios uipopover swift ios8

115
推荐指数
6
解决办法
17万
查看次数

如何在用户默认值中存储日期?

我想记录她进入文本字段的历史。我打算用 UserDefaults 注册它。但是,当我尝试使用 UserDefaults 保存它时,“无法将类型为 'nsdate'?' 的值分配给类型 'String'” 错误。我认为它不接受文本字段数据,因为它是字符串。我怎样才能在记忆中保存历史?

formatteddate 和 formatteddate2 给出了这个错误。日期输出如下:20/04/2019 20:23

let token = try? keychain.getString("chipnumbernew")
        chip1InfoString = token

        var time = NSDate()
        var formatter = DateFormatter()
        formatter.dateFormat = "dd/MM/yyyy HH:mm"
        var formatteddate = formatter.string(from: time as Date)
        var formatteddate2 = formatter.string(from: time as Date)

        timertextNew.text = formatteddate
        timertext2New.text = formatteddate2


        let RetrivedDate = UserDefaults.standard.object(forKey: "timertext") as? NSDate

       formatteddate = RetrivedDate

        let RetrivedDate2 = UserDefaults.standard.object(forKey: "timertext2") as? NSDate
        formatteddate2 = RetrivedDate2
Run Code Online (Sandbox Code Playgroud)

date swift

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

有没有办法在同一iOS Xcode项目中使用Storyboard和SwiftUI?

随着Swift 5引入了用于创建视图的SwiftUI框架,但是我们目前正在使用情节提要进行UI设计。

所以我只想知道在同一iOS Single View应用程序中使用Storyboard和Swift UI的过程。

xcode storyboard swiftui

14
推荐指数
3
解决办法
3557
查看次数

连续位置更新后台iOS13

我目前正在 iOS 13 中测试后台位置模式,因为我想在后台跟踪用户的位置和动作(使用 CMMotionManager)。因此,我有自己的(单例)类来处理位置跟踪。我通过以下方式初始化 CLLocationManager:

    func initializeLocationManager() -> CLLocationManager {
        let manager = locationManager ?? CLLocationManager()
        manager.delegate = self
        manager.requestAlwaysAuthorization()
        manager.allowsBackgroundLocationUpdates = true
        manager.pausesLocationUpdatesAutomatically = false
        manager.distanceFilter = kCLDistanceFilterNone
        manager.desiredAccuracy = kCLLocationAccuracyBest
        manager.activityType = .other
        return manager
    }
Run Code Online (Sandbox Code Playgroud)

然后我启动以下服务:

   func startLocationServices() {
        // ...
        locationManager.startUpdatingLocation()
        locationManager.startMonitoringVisits()
        locationManager.startMonitoringSignificantLocationChanges()
        // ...
    }
Run Code Online (Sandbox Code Playgroud)

此外,我还实现了 CLLocationManagerDelegate 方法 didChangeAuthorization()、didUpdateLocation()。

在 info.plist 文件中,我附加了以下条目:

<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>...</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>...</string>
<key>UIBackgroundModes</key>
<array>
    <string>location</string>
</array> 
Run Code Online (Sandbox Code Playgroud)

在我的 ViewController 中,我调用了 startLocationServices。目前,我将应用跟踪位置数据的授权设置为“.authorizedAlways”

位置更新在大约 60 - 130 分钟后停止。

为了解决这个问题,我已经添加了 didFinishLaunchingWithOptions 函数,它会再次触发位置更新:

func application(_ …
Run Code Online (Sandbox Code Playgroud)

background cllocationmanager cllocation ios swift

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

一旦数字大于10,Tableview就不会排序

我正在使用以下代码对tableview进行排序:

list.sort() { $0.points > $1.points }
Run Code Online (Sandbox Code Playgroud)

而且一切正常(一点点),如果我使用这种排序方法,它将对数字(也称为点)进行一直到10的排序。但是,一旦数字超过10,列表就不再排序。而且我不知道如何解决这个问题。

10以下的结果:

1个

10以上的结果:

2

我猜是因为“ 10”而将其放置在其中,如果我将“ 60”用作它,它将放置在第二或第三位置。那么,我该如何解决呢?我会很感激。

tableview ios swift

-3
推荐指数
1
解决办法
75
查看次数