我正在制作一个自定义键盘,我需要将移位图标的图像置于移位按钮内.图像为100px x 100px.
然而,纵向中的按钮框架是36pt x 38pt,并且在横向中,它是68pt x 32pt.我尝试使用按钮图像插入属性来居中图像.但是,它没有这样做.
我试着自己设置图像边缘插图(25,25,25,25),图像以两种尺寸为中心.但是,图标变得太小而无法看到.
shiftButton.setImage(UIImage(named: "shift"), forState: .Normal)
shiftButton.imageEdgeInsets = UIEdgeInsetsMake(0,0,0,0)
Run Code Online (Sandbox Code Playgroud)
我以编程方式制作按钮.并且,我需要按钮来保持其纵横比,即1:1.它的最大宽度或高度始终与按钮的高度本身相关联.图像宽度/高度应该是按钮高度的最大值.并且,它不应该以任何方式扭曲图标.但是,按钮本身可以伸展.
我需要根据按钮框架缩放图像,但保持其纵横比.并且,它可以缩小或缩放,但应始终保持1:1的宽高比.
有什么建议可以解决这个问题?
我正在制作一个集合视图来生成轮播效果.
我需要中心单元格与左侧和右侧的其他两个单元格重叠.中心单元需要始终位于顶部.
但是,当我尝试将侧面的细胞与中心的细胞重叠时,它不起作用.相反,右侧单元格(蓝色单元格)与中心单元格(黑色单元格)重叠,如下图所示.
使用的代码是针对此效果如下:
以下是集合视图的视图控制器.
import UIKit
private let reuseIdentifier = "Cell"
let kRoomCellScaling: CGFloat = 0.6
class RoomsViewController: UICollectionViewController {
override func viewDidLoad() {
super.viewDidLoad()
// This method sets up the collection view
let layout = UPCarouselFlowLayout()
layout.itemSize = CGSizeMake(250, 250)
layout.scrollDirection = .Horizontal
layout.sideItemAlpha = 1
layout.sideItemScale = 0.8
layout.spacingMode = UPCarouselFlowLayoutSpacingMode.overlap(visibleOffset: 60)
collectionView?.setCollectionViewLayout(layout, animated: false)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// MARK: UICollectionViewDataSource
override func numberOfSectionsInCollectionView(collectionView: …Run Code Online (Sandbox Code Playgroud) 我使用 FCM 和 Flutter 本地通知来接收消息。Flutter 本地通知用于在应用程序位于前台时显示通知。目前,我使用的是 Android 12 (Poco X3 PRO)。
当我终止应用程序并从 Firebase 控制台发送消息时,以下消息将显示在 logcat 中。
2022-07-26 07:40:16.751 11370-11370/? W/GCM: broadcast intent callback: result=CANCELLED forIntent { act=com.google.android.c2dm.intent.RECEIVE flg=0x10000000 pkg=au.org.nrna.test.app (has extras) }
Run Code Online (Sandbox Code Playgroud)
我已经检查了此处链接的 firebase 云消息传递文档,但是没有提及终止状态下的消息处理。
同样,当应用程序位于前台时,该消息仅显示在通知托盘中。它根本不显示在屏幕上。
文件: main.dart
import 'dart:async';
import 'dart:convert';
import 'dart:isolate';
import 'package:device_preview/device_preview.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_crashlytics/firebase_crashlytics.dart';
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
import 'core/apps/app.dart';
import 'core/apps/device_preview_app.dart';
import 'core/bloc_observers/bloc_observer.dart';
import 'core/config_reader/config_reader.dart';
import 'core/injections/injections.dart';
import 'core/routes/app_router.gr.dart';
final appRouter = AppRouter();
void main() async …Run Code Online (Sandbox Code Playgroud) android flutter firebase-cloud-messaging flutter-local-notification
我们正在使用第三方推送通知框架,该框架尚未针对x86_64进行编译,这意味着每当我们为模拟器构建时,我们都会收到构建警告.由于我们试图将警告视为错误,因此不会这样做.
我想在构建设备时只包含这个框架.然后我只会编译在设备上使用它的代码.
它可以实现吗?
互联网连接速度非常慢时,我在处理该案件时遇到了一些麻烦。首先,让我解释一下。当设备未连接到Internet时,我可以处理以下功能:
public class Reachability
{
class func isConnectedToNetwork() -> Bool
{
var zeroAddress = sockaddr_in(sin_len: 0, sin_family: 0, sin_port: 0, sin_addr: in_addr(s_addr: 0), sin_zero: (0, 0, 0, 0, 0, 0, 0, 0))
zeroAddress.sin_len = UInt8(sizeofValue(zeroAddress))
zeroAddress.sin_family = sa_family_t(AF_INET)
let defaultRouteReachability = withUnsafePointer(&zeroAddress) {
SCNetworkReachabilityCreateWithAddress(kCFAllocatorDefault, UnsafePointer($0))
}
var flags: SCNetworkReachabilityFlags = SCNetworkReachabilityFlags(rawValue: 0)
if SCNetworkReachabilityGetFlags(defaultRouteReachability!, &flags) == false {
return false
}
let isReachable = flags == .Reachable
let needsConnection = flags == .ConnectionRequired
return isReachable && !needsConnection
}
Run Code Online (Sandbox Code Playgroud)
因此,当设备连接到Internet且连接快速稳定时,一切正常。当设备未连接到Internet时,我会收到警告,我需要连接并且也得到了处理。
问题是,当我连接并且互联网非常缓慢时,例如16 …
我是新手swift iOS.在我的故事板中,我创建了一些动态字段viewController.已从对象库创建了一个按钮.
现在,我需要在单击此按钮后打开一个新的空白屏幕.在新屏幕中,会有一些输入字段.我将通过编程或对象库创建它们.
但是我无法打开空屏幕.
@IBAction func SaveTgw(sender: AnyObject) {
print("test=====")
}
Run Code Online (Sandbox Code Playgroud)
我需要在其中包含屏幕打开代码SaveTgw.任何帮助或任何描述性教程链接将不胜感激....
我在本地主机上使用 nginx 的自签名证书。我正在使用 OpenSSL 最新版本来执行此操作。这是配置文件。
localhost.conf
[req]
default_bits = 2048
default_keyfile = localhost.key
distinguished_name = req_distinguished_name
req_extensions = req_ext
x509_extensions = v3_ca
[req_distinguished_name]
countryName = Country Name (2 letter code)
countryName_default = US
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = Rochester
localityName = Locality Name (eg, city)
localityName_default = Rochester
organizationName = Organization Name (eg, company)
organizationName_default = localhost
organizationalUnitName = organizationalunit
organizationalUnitName_default = Development
commonName = Common Name (e.g. server FQDN or YOUR name)
commonName_default = …Run Code Online (Sandbox Code Playgroud) 我目前正在 Flutter 中制作 Udacity Sunshine 项目。我有两个不同的提供商来获取当前温度和每日预报。
我想合并这两个提供程序并创建一个名为weatherProvider 的新的单一提供程序。
文件:weather_data.dart
import 'package:app/models/current_weather_data.dart';
import 'one_call_weather_data.dart';
class WeatherData {
final OneCallWeatherData oneCallWeatherData;
final CurrentWeatherData currentWeatherData;
WeatherData({
required this.oneCallWeatherData,
required this.currentWeatherData,
});
}
Run Code Online (Sandbox Code Playgroud)
文件:weather_provider.dart
import 'package:app/models/current_weather_data.dart';
import 'package:app/models/one_call_weather_data.dart';
import 'package:app/services/weather.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
var oneCallWeatherProvider = FutureProvider<OneCallWeatherData>((ref) async {
return await WeatherService.getOneCallWeatherData();
});
var currentWeatherProvider = FutureProvider<CurrentWeatherData>((ref) async {
return await WeatherService.getCurrentWeatherData();
});
final weatherProvider = FutureProvider<WeatherData>((ref) async {
final currentWeatherData = ref.watch(currentWeatherProvider);
final onecallWeatherData = ref.watch(oneCallWeatherProvider);
// How to return WeatherData here??
});
Run Code Online (Sandbox Code Playgroud)
在上面的提供程序中,我尝试从两个未来的提供程序获取数据并获取 …
我们正在尝试创建一个通用的 Category 类。目前,我们不确定类别是否以整数或 UUID 作为键。因此,我们现在需要 id 是通用的。一切正常。但是,我们无法使用该freezed包生成 fromJson() 和 toJson()。
import \'package:freezed_annotation/freezed_annotation.dart\';\n\npart \'category.freezed.dart\';\npart \'category.g.dart\';\n\n@freezed\n@JsonSerializable(genericArgumentFactories: true)\nclass Category<T> with _$Category<T> {\n factory Category({\n required T id,\n required String name,\n required String imageUrl,\n }) = _Category;\n\n factory Category.fromJson(Map<String, dynamic> json) =>\n _$CategoryFromJson(json);\n}\nRun Code Online (Sandbox Code Playgroud)\n错误:
\nCould not generate `fromJson` code for `id` because of type `T` (type parameter).\nTo support type parameters (generic types) you can:\n* Use `JsonConverter`\n https://pub.dev/documentation/json_annotation/latest/json_annotation/JsonConverter-class.html\n* Use `JsonKey` fields `fromJson` and `toJson`\n https://pub.dev/documentation/json_annotation/latest/json_annotation/JsonKey/fromJson.html\n https://pub.dev/documentation/json_annotation/latest/json_annotation/JsonKey/toJson.html\n* Set `JsonSerializable.genericArgumentFactories` to `true`\n …Run Code Online (Sandbox Code Playgroud) 问候我的开发人员朋友!
我创建了一个演示应用程序来测试 minSdk 14 和 targetSdj 23 的材料设计。我在下面有以下文件。它在 21 API 下工作正常。我相信罪魁祸首是Styles-v21.xml,因为该应用程序在此之前运行良好。
它的设置很简单,只有一项活动。我正在测试 Material 主题和 AppCompat 主题以处理以下场景。
该应用程序在 API 21 以下运行良好,但在 21+ 以上应用程序崩溃,说“不幸的是 materialTest 已停止。”
错误如下:
FATAL EXCEPTION: main
Process: net.slidenerd.materialtest, PID: 28204
java.lang.RuntimeException: Unable to start activity ComponentInfo{net.slidenerd.materialtest/net.slidenerd.materialtest.MainActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method) …Run Code Online (Sandbox Code Playgroud)