我正在创建一个 Jetpack Compose 对话框,其中包含一个列,其中所有元素都应始终可见,但第三个元素除外,第三个元素是一个文本,如果文本不适合屏幕空间,则该文本应该是可滚动的。我几乎通过仅用于该文本元素的辅助可滚动列实现了这一点。但是,如果有大量文本,此实现会将底部子项(按钮)推到视图之外。这是我的代码:
@Composable
fun WelcomeView(
viewModel: WelcomeViewModel,
onDismiss: () -> Unit
) {
Dialog(onDismissRequest = onDismiss) {
Box(
modifier = Modifier
.clip(RoundedCornerShape(Spacing.extraLarge))
.background(Colors.backgroundBase)
.padding(all = Spacing.medium)
) {
Column {
IconView(
name = IconViewNames.RUNNING_SHOE,
size = IconViewSizes.LARGE,
color = Colors.primaryBase
)
Text(
viewModel.title,
style = Text.themeBillboard,
modifier = Modifier.padding(bottom = Spacing.medium)
)
Column(
modifier = Modifier
.verticalScroll(rememberScrollState())
) {
Text(
viewModel.message,
style = Text.themeHeadline,
modifier = Modifier.padding(bottom = Spacing.medium)
)
}
Button(
onClick = onDismiss,
modifier = Modifier …Run Code Online (Sandbox Code Playgroud) 我创建了一个全新的,单视图iOS通用Swift应用程序.然后,我在应用程序设置中取消选中"Landscape Left"和"Landscape Right".我在我的iPhone上运行它,并且万岁,无论我如何旋转手机,它都保持纵向模式.然后我在我的iPad上运行它,它旋转到任何东西.甚至颠倒的肖像模式,首先没有启用?我是唯一体验过的吗?当我使用命令+箭头键旋转时,这也发生在iPad模拟器中.
我也尝试将以下内容添加到ViewController.swift中,并得到了相同的结果.
override func shouldAutorotate() -> Bool {
return false
}
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
return UIInterfaceOrientationMask.Portrait
}
Run Code Online (Sandbox Code Playgroud)
有没有办法在iPad上实际禁用旋转画像?
嘿所有我想创建一个自定义UITableViewCell,但我在模拟器上看不到任何东西.你能帮我吗.
只有我才能看到标签 var labUserName = UILabel(frame: CGRectMake(0.0, 0.0, 130, 30));
但它与细胞重叠.我不明白,自动布局应该知道每个单元格的首选尺寸/最小尺寸?
谢谢
import Foundation
import UIKit
class TableCellMessages: UITableViewCell {
var imgUser = UIImageView();
var labUserName = UILabel();
var labMessage = UILabel();
var labTime = UILabel();
override init(style: UITableViewCellStyle, reuseIdentifier: String) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
imgUser.layer.cornerRadius = imgUser.frame.size.width / 2;
imgUser.clipsToBounds = true;
contentView.addSubview(imgUser)
contentView.addSubview(labUserName)
contentView.addSubview(labMessage)
contentView.addSubview(labTime)
//Set layout
var viewsDict = Dictionary <String, UIView>()
viewsDict["image"] = imgUser;
viewsDict["username"] = labUserName;
viewsDict["message"] = labMessage;
viewsDict["time"] = labTime; …Run Code Online (Sandbox Code Playgroud) 我有一个文本视图,我想将其配置为包装第一个不适合的字符。在 UIKit 中,这相当于设置label.lineBreakMode = .byCharWrapping。SwiftUI Text 已经实现了吗?我在Text 的文档中找不到任何内容。
我想这样做的原因是我要向用户显示很长的代码,因此按字符而不是按单词换行是可取的。
我以前能够添加或添加为iTunes Connect团队的用户,其中包含一个包含加号的电子邮件.这很方便,因为我能够使用相同的Gmail电子邮件地址成为多个iTunes Connect团队的一员(发送到foo+bar@gmail.com的电子邮件总是发送到foo@gmail.com).现在我收到了错误The email address you entered is invalid. Please try again.
是否正在使用带加号的电子邮件?有解决方法吗?
我正在尝试使用init(uiImage:)初始值设定项将UIImage转换为SwiftUI Image。我的 UIImage 本身是从 CIQRCodeGenerator CIFilter 生成的 CIImage 创建的。我在 Xcode 11.1 GM 种子 1 的 Playground 上运行我的代码。这是我的全部代码:
import SwiftUI
import UIKit
func qrCodeImage(for string: String) -> Image? {
let data = string.data(using: String.Encoding.utf8)
guard let qrFilter = CIFilter(name: "CIQRCodeGenerator") else { return nil }
qrFilter.setValue(data, forKey: "inputMessage")
guard let ciImage = qrFilter.outputImage else { return nil }
let uiImage = UIImage(ciImage: ciImage)
let image = Image(uiImage: uiImage)
return image
}
let image = qrCodeImage(for: "fdsa") …Run Code Online (Sandbox Code Playgroud) 我想显示具有以下规则的图像:
Image应采用父级的完整宽度,并且应自动调整其高度以匹配远程加载的图像,以便不会发生裁剪/拉伸。我尝试使用线圈依赖项,我有以下代码:
Image(
painter = rememberImagePainter(viewModel.fullImageUrl),
contentDescription = null,
contentScale = ContentScale.FillHeight,
modifier = Modifier
.fillMaxWidth()
.aspectRatio(3.21428f) // TODO: Figure out how to set height/ratio based on image itself
)
Run Code Online (Sandbox Code Playgroud)
当我删除Image和contentScale时modifier,它的高度似乎总是为零。我不确定在 Coil 加载图像文件后确定其自身的大小时应该做什么来填充Image其父级的最大宽度。
我有一个小型的Java Android Studio项目,我使用Android Studio 3.0 Canary 3中的Kotlin转换器将所有四个源文件转换为Kotlin.然后我做了一些小修改来编译它.我只有一个活动,代码如下:
package com.ebelinski.soundboard
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.widget.AdapterView
import kotlinx.android.synthetic.main.activity_storyboard.gridview;
class StoryboardActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val itemManager = ItemManager(applicationContext)
val items = itemManager.getItems().toTypedArray<Item>()
setContentView(R.layout.activity_storyboard)
val storyboardAdapter = StoryboardAdapter(this, items)
gridview.adapter = storyboardAdapter
gridview.onItemClickListener = AdapterView.OnItemClickListener { parent, v, position, id ->
// todo
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行这个时,我收到以下错误:
06-05 10:25:42.758 5668-5668/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.ebelinski.soundboard, PID: 5668
java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, …Run Code Online (Sandbox Code Playgroud) 是否可以从Firebase云功能发送静默APN(iOS)远程通知?如果是这样,怎么办呢?我想在应用程序不在前台时向iOS应用程序实例发送数据,而不会让用户看到通知.
我目前发送的通知可以被用户看到:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.sendNotifications = functions.database.ref('/events/{pushId}').onWrite(event => {
const id = event.params.pushId
const payload = {
notification: {
title: 'An event has occurred!',
body: 'Please respond to this event.',
event_id: id
}
};
return admin.messaging().sendToTopic("events", payload);
});
Run Code Online (Sandbox Code Playgroud)
我希望能够id在没有视觉通知的情况下将其发送到应用程序.
ios firebase google-cloud-functions firebase-cloud-messaging
编辑:我意识到我的问题是我试图插入$ user_id,其中有一个带有数字的字符串"进入列user_id,类型为int.我将字符串转换为整数.我仍然没有弄清楚错误虽然,但这是因为时间的限制.我会在其他时间回到它.
我正在尝试在http://www.php-login.net上提供的php登录系统的高级版本之上构建一个网站.在脚本的Registration类中,有一个向数据库添加新用户的函数,该代码完全正常:
$query_new_user_insert = $this->db_connection->prepare('INSERT INTO users (user_name, user_password_hash, user_email, user_activation_hash, user_registration_ip, user_registration_datetime) VALUES(:user_name, :user_password_hash, :user_email, :user_activation_hash, :user_registration_ip, now())');
$query_new_user_insert->bindValue(':user_name', $user_name, PDO::PARAM_STR);
$query_new_user_insert->bindValue(':user_password_hash', $user_password_hash, PDO::PARAM_STR);
$query_new_user_insert->bindValue(':user_email', $user_email, PDO::PARAM_STR);
$query_new_user_insert->bindValue(':user_activation_hash', $user_activation_hash, PDO::PARAM_STR);
$query_new_user_insert->bindValue(':user_registration_ip', $_SERVER['REMOTE_ADDR'], PDO::PARAM_STR);
$query_new_user_insert->execute();
// id of new user
$user_id = $this->db_connection->lastInsertId();
if ($query_new_user_insert) {
// send a verification email
if ($this->sendVerificationEmail($user_id, $user_email, $user_activation_hash)) {
// when mail has been send successfully
$this->messages[] = $this->lang['Verification mail sent'];
$this->registration_successful = true;
} else {
// delete this …Run Code Online (Sandbox Code Playgroud)