我开发了基于核心数据的应用程序并在 iOS 13 中引入了 iCloud 同步功能。
我启用了 iCloud 套件,用于NSPersistentCloudKitContainer代替NSPersistentContainer并添加了几行代码来与 iCloud 同步核心数据。
同步工作正常。问题是当我卸载应用程序并重新安装应用程序时,它不会在第一次获取 iCloud 数据。我必须重新启动应用程序或打开另一个屏幕才能让 Core Data 与 iCloud 同步。无论如何我可以检查核心数据是否正在与 iCloud 同步或等到它完成同步?
谢谢。
我想在动画时重新设置不同颜色的渐变背景动画.我可以使用此代码成功为渐变颜色设置动画.
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) 我正在使用谷歌的新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) 我正在使用 Swift 5.1 和 Xcode 11.1,目前我已经完成了暗模式设计。
应用程序设置了用户可以设置显示主题(Light,Dark,System 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 上设置基本视图控制器并设置用户界面样式来做到这一点,但导航栏和标签栏的外观没有改变。
谁能告诉我如何处理这个问题?谢谢。
我正在开发 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) 我正在开发键盘应用程序,用户可以输入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图像)时,不会出现内存泄漏问题,应用程序也不会崩溃.
我正在开发 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) 我目前正在开发 Ionic 应用程序并停留在文件下载部分。我看到很多帖子说FileTransfer现在不推荐使用cordova 库以支持XHR 请求。
尽管我看到很多帖子说该库已被弃用,但我找不到任何示例代码(用于从 URL 下载文件)。
任何人都可以建议我在不使用FileTransfer插件的情况下从 url 下载文件的好方法吗?
我正在使用 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)
但问题是我看不到状态栏文本,因为状态栏文本颜色和视图颜色相同。
有人可以建议我好的解决方案吗?谢谢。
我正在开发的应用程序在一个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上搜索了解决方案,但我认为没有针对此问题的解决方案。
帮助将不胜感激。
我最近开发了与暗模式兼容的应用程序。
暗模式也可以正常工作。顺便说一句,当我从dark-> light,light->dark设备模式更改时,除边框颜色外,所有颜色都按预期更改。
假设浅色模式下边框颜色为黑色,深色模式和系统设置为深色 mdoe 时边框颜色为白色。当我将系统设置更改为浅色模式并返回应用程序时,所有边框颜色都保持白色,应该是黑色。
有没有人遇到过这个问题,你能帮我解决这个问题吗?当我想在应用程序中实现实时主题更新时,这是一个严重的问题。
谢谢。
我正在使用视频录制应用程序,我想在其中显示预览,并且当用户单击“录制”按钮时它开始录制,而当用户单击“停止”按钮时它停止录制。
我得到了相机预览,并且记录回相机工作正常。
但是,当我将摄像机翻转到前置摄像机并开始记录时,会出现如下错误:
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)
有人可以建议解决方案吗?
swift ×9
ios ×7
ios-darkmode ×3
dropdown ×2
swiftui ×2
android ×1
camera ×1
core-data ×1
file ×1
firebase ×1
icloud ×1
ionic-native ×1
iphone ×1
java ×1
memory-leaks ×1
objective-c ×1
typescript ×1
uiscrollview ×1