小编Bib*_*cob的帖子

Flutter Error:使用不包含MediaQuery的上下文调用MediaQuery.of()

我一直试图在Flutter中获得整个上下文视图的大小.但每次我尝试我都会得到上面提到的错误.这是我的代码:

import 'package:flutter/material.dart';

void main => runApp(new MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {

    final size = MediaQuery.of(context).size;
    return new MaterialApp(
      home: new Scaffold(),
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

注意:我也尝试使用StatefulWidget.拜托,帮我找到我在这里做错了什么.

dart flutter

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

SwiftUI 自定义accentColor 不适用于物理设备(iOS 13),但适用于其他地方(iOS 14.0+)

在我的 SwiftUI 中,View我有一个Image从资产加载的。我已将其设置foregroundColoraccentColor,我还在 asset 中将其设置为我的自定义AccentColor,该自定义将在整个应用程序中使用。

资产:

资产

内容视图主体:

var body: some View {
    Image("MyImageName")
        .resizable()
        .renderingMode(.template)
        .foregroundColor(.accentColor)
        .frame(width: 32, height: 32, alignment: .center)
}
Run Code Online (Sandbox Code Playgroud)

预览和模拟器显示右侧的图像foregroundColor。但是,当在物理设备上运行时,不知何故仍然保持手机的foregroundColor默认蓝色。accentColor

预览:

模拟器:

真实设备:

为什么会出现这种情况?如何确保AssentColor在不修改 iPhone 上任何设置的情况下,无论 iOS 版本如何,都能跨设备工作?调试详细信息:设备iOS版本为iOS 13.5.1和Xcode 12.0.1。

assets image colors swift swiftui

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

如何分别删除有关 Firebase/Analytics 和 swizzing 的 Firebase 警告和控制台消息?

想知道为什么 firebase 会抛出一个警告,说我Firebase/Analytics不需要它时我没有包含它。Firebase/Messaging虽然我在用。而且我知道消息传递按预期工作。那么,我将如何删除警告说:

<MyProjectPath>/Pods/Firebase/CoreOnly/Sources/Firebase.h:75:10: "FirebaseAnalytics.framework 未包含在您的目标中。请添加Firebase/Analytics到您的 Podfile 或将 FirebaseAnalytics.framework 添加到您的项目以确保 Firebase 消息传递作为故意的。”

Xcode 警告

  1. 我不想添加FirebaseAnalytics到我的项目中。
  2. 我不想编辑 pod。

此外,每次我运行我的项目时,控制台都会不断向我显示有关method_swizzling_in_firebase_messaging.

控制台截图

  1. 我不希望将现有的推送通知实现更改为手动。
  2. 我不想设置OS_ACTIVITY_MODENO(它为我提供了我需要的其他信息)。

ios firebase swift firebase-cloud-messaging

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

如何在核心数据中存储swift枚举?

Swift允许您定义枚举,但核心数据不支持(开箱即用)如何保存它们.

我在互联网上看到的推荐解决方案(到目前为止使用)是使用私有变量:

class ManagedObjectSubClass : NSManagedObject
{
  enum Cards : Int
  {
    case Diamonds, Hearts
  }
   @nsmanaged var cardRaw: Int

   var card : Cards {
     set { self.cardRaw = newValue.rawValue }
     get { return Cards(RawValue:cardRaw)! }
   }
 }
Run Code Online (Sandbox Code Playgroud)

在下面的答案中给出了另一种解决方案.

enums core-data swift

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

使用组合的 Publisher 在 SwiftUI Image 中从远程 URL 异步加载图像

我一直在寻找从远程服务器图像 URL 异步加载图像的良好解决方案。网上有很多解决方案。遗憾的是,苹果没有为如此常见的东西提供原生的解决方案。无论如何,我发现Sundell 的博客非常有趣,并从中汲取了其中的优点来创建我自己的 ImageLoader,如下所示:

import Combine

class ImageLoader {

    private let urlSession: URLSession
    private let cache: NSCache<NSURL, UIImage>

    init(urlSession: URLSession = .shared,
         cache: NSCache<NSURL, UIImage> = .init()) {
        self.urlSession = urlSession
        self.cache = cache
    }

    func publisher(for url: URL) -> AnyPublisher<UIImage, Error> {
        if let image = cache.object(forKey: url as NSURL) {
            return Just(image)
                .setFailureType(to: Error.self)
                .receive(on: DispatchQueue.main)
                .eraseToAnyPublisher()
        } else {
            return urlSession
                .dataTaskPublisher(for: url)
                .map(\.data)
                .tryMap { data in
                    guard let image = UIImage(data: data) …
Run Code Online (Sandbox Code Playgroud)

image publisher swift swiftui combine

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

如何在Flutter GridView中启用分页?

我是Dart的新手,我知道这很简单。但是,我找不到关于如何在Flutter的中启用分页的简单答案GridView。我来自迅速的背景,只需一行就可以实现。collectionView.isPagingEnabled = true。同样,我该如何在飞镖中实现这一目标?

paging gridview dart flutter

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