小编Mob*_*tar的帖子

如何等待云套件数据与 iOS13 中的 swift 核心数据同步

我开发了基于核心数据的应用程序并在 iOS 13 中引入了 iCloud 同步功能。

我启用了 iCloud 套件,用于NSPersistentCloudKitContainer代替NSPersistentContainer并添加了几行代码来与 iCloud 同步核心数据。

同步工作正常。问题是当我卸载应用程序并重新安装应用程序时,它不会在第一次获取 iCloud 数据。我必须重新启动应用程序或打开另一个屏幕才能让 Core Data 与 iCloud 同步。无论如何我可以检查核心数据是否正在与 iCloud 同步或等到它完成同步?

谢谢。

core-data ios icloud swift

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

重新动画渐变背景与不同的颜色迅速在ios

我想在动画时重新设置不同颜色的渐变背景动画.我可以使用此代码成功为渐变颜色设置动画.

let dayTopColor = CommonUtils.colorWithHexString("955EAC")
let dayBottomColor = CommonUtils.colorWithHexString("9F3050")
let dayToTopColor = CommonUtils.colorWithHexString("D15B52")
let dayToBottomColor = CommonUtils.colorWithHexString("CC4645")
let nightTopColor = CommonUtils.colorWithHexString("2D5E7C")
let nightBottomColor = CommonUtils.colorWithHexString("19337D")
let nightToTopColor = CommonUtils.colorWithHexString("21334E")
let nightToBottomColor = CommonUtils.colorWithHexString("101A55")
var isInSaudiArabia = false
var gradient : CAGradientLayer?
var toColors : AnyObject?
var fromColors : AnyObject?

func animateBackground(){
        var layerToRemove: CAGradientLayer?
        for layer in self.view.layer.sublayers!{
            if layer.isKindOfClass(CAGradientLayer) {
                layerToRemove = layer as? CAGradientLayer
            }
        }
        layerToRemove?.removeFromSuperlayer()

            self.gradient!.colors = [nightTopColor.CGColor, nightBottomColor.CGColor]
            self.toColors = [nightToTopColor.CGColor, nightToBottomColor.CGColor]

        self.view.layer.insertSublayer(self.gradient!, atIndex: 0) …
Run Code Online (Sandbox Code Playgroud)

ios swift

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

如何使用swift中的新Firebase更新电子邮件和密码

我正在使用谷歌的新firebase开发应用程序.我在更新用户电子邮件和密码时遇到问题.

这是我尝试过的.

let currentUser = FIRAuth.auth()?.currentUser

currentUser?.updateEmail(email) { error in
    if let error = error {
        print(error)

    } else {
        // Email updated.
        currentUser?.updatePassword(password) { error in
            if let error = error {

            } else {
                // Password updated.
                print("success")

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

但是当更新密码时,会发生这样的错误.

"Domain = FIRAuthErrorDomain Code = 17014"此操作非常敏感,需要最近的身份验证..."

据我所知,我们必须在更新电子邮件后重新配置用户.

我尝试使用此代码从firebase重新配置.

let user = FIRAuth.auth()?.currentUser
var credential: FIRAuthCredential

// Prompt the user to re-provide their sign-in credentials

user?.reauthenticateWithCredential(credential) { error in
  if let error = error {
    // …
Run Code Online (Sandbox Code Playgroud)

firebase swift firebase-authentication

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

如何在 iOS 13 的 Swift 中立即更改主题样式(用户界面样式)

我正在使用 Swift 5.1 和 Xcode 11.1,目前我已经完成了暗模式设计。

应用程序设置了用户可以设置显示主题(LightDarkSystem Default),目前如果应用程序在用户选择主题后重新启动,它可以正常工作(我将此 bool 数据保存在 UserDefaults 中,并在 AppDelegate 文件中的应用程序启动时设置 UIAppearance)

这是我的代码

if #available(iOS 13.0, *) {
   switch AppState.appThemeStyle {
   case "dark":
       window?.overrideUserInterfaceStyle = .dark
       break
   case "light":
       window?.overrideUserInterfaceStyle = .light
       break
   default:
       window?.overrideUserInterfaceStyle = .unspecified
   }
}
Run Code Online (Sandbox Code Playgroud)

但是我可以看到许多应用程序在用户设置主题样式后立即更改显示主题。

我认为仅更改主题而重新启动应用程序并不是一个好主意,并且在用户设置主题样式后应立即更改主题。

我试图通过在 ViewWillAppear 上设置基本视图控制器并设置用户界面样式来做到这一点,但导航栏和标签栏的外观没有改变。

谁能告诉我如何处理这个问题?谢谢。

ios swift ios-darkmode

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

如何将 View 置于 SwiftUI 中所有其他视图之上

我正在开发 SwiftUI 测试应用程序,并在此处添加了自定义下拉菜单。除了下拉菜单位于其他视图下方之外,一切正常。因此用户无法正确查看并单击下拉菜单。这是我的下拉菜单。

import SwiftUI

var dropdownCornerRadius:CGFloat = 3.0
struct DropdownOption: Hashable {
    public static func == (lhs: DropdownOption, rhs: DropdownOption) -> Bool {
        return lhs.key == rhs.key
    }

    var key: String
    var val: String
}

struct DropdownOptionElement: View {
    var dropdownWidth:CGFloat = 150
    var val: String
    var key: String
    @Binding var selectedKey: String
    @Binding var shouldShowDropdown: Bool
    @Binding var displayText: String

    var body: some View {
        Button(action: {
            self.shouldShowDropdown = false
            self.displayText = self.val
            self.selectedKey = self.key
        }) { …
Run Code Online (Sandbox Code Playgroud)

drop-down-menu swift dropdown swiftui

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

在UICollectionView中动画gif并在设备上崩溃但在模拟器上没有崩溃时内存泄漏问题

我正在开发键盘应用程序,用户可以输入GIF.Btw GIF可以在键盘上预览,它可以在模拟器和设备上正常工作,我们可以看到GIF动画.但它显示内存泄漏问题,当我们继续滚动时,应用程序在设备中崩溃.我正在使用FLAnimatedImage来显示gif.这是我的源代码.

NSURL *url1 = [[NSBundle mainBundle] URLForResource:[rampageGif objectAtIndex:indexPath.row] withExtension:@"gif"];
NSData *data1 = [NSData dataWithContentsOfURL:url1];
FLAnimatedImage *animatedImage1 = [FLAnimatedImage animatedImageWithGIFData:data1];
cell.imageView.animatedImage = animatedImage1;
Run Code Online (Sandbox Code Playgroud)

这是imageView decleartion.

@property (strong, nonatomic) IBOutlet FLAnimatedImageView *imageView;
Run Code Online (Sandbox Code Playgroud)

有没有人在这方面有经验?任何帮助将不胜感激.

注意:当我们没有为gif设置动画(仅显示静态gif图像)时,不会出现内存泄漏问题,应用程序也不会崩溃.

iphone memory-leaks objective-c ios

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

如何在 SwiftUI 中将单击事件添加到整个视图

我正在开发 SwiftUI 测试应用程序,并在此处添加了我的自定义下拉菜单。下拉菜单工作正常,但当用户单击区域外的下拉菜单时,我想关闭下拉菜单。

这是我的下拉菜单。

import SwiftUI

var dropdownCornerRadius:CGFloat = 3.0
struct DropdownOption: Hashable {
    public static func == (lhs: DropdownOption, rhs: DropdownOption) -> Bool {
        return lhs.key == rhs.key
    }

    var key: String
    var val: String
}

struct DropdownOptionElement: View {
    var dropdownWidth:CGFloat = 150
    var val: String
    var key: String
    @Binding var selectedKey: String
    @Binding var shouldShowDropdown: Bool
    @Binding var displayText: String

    var body: some View {
        Button(action: {
            self.shouldShowDropdown = false
            self.displayText = self.val
            self.selectedKey = self.key
        }) …
Run Code Online (Sandbox Code Playgroud)

drop-down-menu swift dropdown swiftui

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

如何在不使用 FileTransfer 的情况下从 Ionic 5 中的 url 下载文件

我目前正在开发 Ionic 应用程序并停留在文件下载部分。我看到很多帖子说FileTransfer现在不推荐使用cordova 库以支持XHR 请求。

尽管我看到很多帖子说该库已被弃用,但我找不到任何示例代码(用于从 URL 下载文件)。

任何人都可以建议我在不使用FileTransfer插件的情况下从 url 下载文件的好方法吗?

file typescript ionic-framework ionic-native

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

如何在 iOS 13 中的 Swift 中立即更改状态栏文本颜色

我正在使用 Swift 5.1 和 Xcode 11.1,目前我已经完成了暗模式设计。

用户使用此代码更改设置页面中的主题样式后,主题会立即更新。

guard let appDelegate = UIApplication.shared.delegate as? AppDelegate else {
   return
}
appDelegate.changeTheme(themeVal)

// App Delegate File
...
func changeTheme(themeVal: String) {
   if #available(iOS 13.0, *) {
       switch AppState.appThemeStyle {
       case "dark":
           window?.overrideUserInterfaceStyle = .dark
           break
       case "light":
           window?.overrideUserInterfaceStyle = .light
           break
       default:
           window?.overrideUserInterfaceStyle = .unspecified
       }
   }
}
Run Code Online (Sandbox Code Playgroud)

但问题是我看不到状态栏文本,因为状态栏文本颜色和视图颜色相同。

有人可以建议我好的解决方案吗?谢谢。

ios swift ios-darkmode

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

如何检查哪个collectionview是否快速滚动

我正在开发的应用程序在一个ViewController中包含3个UICollectionViews。我可以知道是否使用此代码滚动了UICollectionView

func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
    let isScrolling: Bool = colView.isDragging || colView.isDecelerating
}
Run Code Online (Sandbox Code Playgroud)

具体来说,我想知道哪个UICollectionView是否在scrollViewDidEndDragging中滚动。

但是问题是我不知道以前滚动过哪个collectionview。就像我想知道colview2是否在滚动。有谁知道这个解决方案吗?我在Google和Stackoverflow上搜索了解决方案,但我认为没有针对此问题的解决方案。

帮助将不胜感激。

uiscrollview ios uicollectionview swift

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

在 iOS 13 中更改主题时边框颜色不会改变

我最近开发了与暗模式兼容的应用程序。

暗模式也可以正常工作。顺便说一句,当我从dark-> lightlight->dark设备模式更改时,除边框颜色外,所有颜色都按预期更改。

假设浅色模式下边框颜色为黑色,深色模式和系统设置为深色 mdoe 时边框颜色为白色。当我将系统设置更改为浅色模式并返回应用程序时,所有边框颜色都保持白色,应该是黑色。

有没有人遇到过这个问题,你能帮我解决这个问题吗?当我想在应用程序中实现实时主题更新时,这是一个严重的问题。

谢谢。

ios swift ios-darkmode

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

Media Recorder在三星Galaxy S3前置摄像头的Android中启动失败

我正在使用视频录制应用程序,我想在其中显示预览,并且当用户单击“录制”按钮时它开始录制,而当用户单击“停止”按钮时它停止录制。

我得到了相机预览,并且记录回相机工作正常。

但是,当我将摄像机翻转到前置摄像机并开始记录时,会出现如下错误:

FATAL EXCEPTION: main java.lang.RuntimeException: start failed. 
        at android.media.MediaRecorder.start(Native Method) at 
        com.opkix.app.fragments.CameraFragment.startRecording(
                                             CameraFragment.java:104)
Run Code Online (Sandbox Code Playgroud)

这是我录制视频代码的代码:

private boolean prepareMediaRecorder() {
    // set the orientation here to enable portrait recording.

    mediaRecorder = new MediaRecorder();

    mCamera.unlock();

    mediaRecorder.setCamera(mCamera);

    mediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
    mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);

    mediaRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH));


    mediaRecorder.setOutputFile(StorageUtils.getOutputMediaFilePath());
    mediaRecorder.setMaxDuration(120000); // Set max duration 60 sec.
    mediaRecorder.setMaxFileSize(100000000); // Set max file size 50Mb

    mediaRecorder.setPreviewDisplay(mPreview.getHolder().getSurface());
    try {
        mediaRecorder.prepare();
    } catch (IllegalStateException e) {
        releaseMediaRecorder();
        return false;
    } catch (IOException e) {
        releaseMediaRecorder();
        return false;
    }
    return true;

}
Run Code Online (Sandbox Code Playgroud)

有人可以建议解决方案吗?

java camera android

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