小编Eug*_*ene的帖子

如何创建一个 Jetpack Compose Column,其中中间的子项可滚动,但所有其他子项始终可见?

我正在创建一个 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)

android android-jetpack-compose

63
推荐指数
2
解决办法
7万
查看次数

如何在iPad应用中禁用横向?

我创建了一个全新的,单视图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上实际禁用旋转画像?

xcode landscape ios swift

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

使用Swift以编程方式自定义UITableViewCell

嘿所有我想创建一个自定义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)

custom-controls uitableview ios swift

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

文本视图的 lineBreakMode 是否有等效的 SwiftUI?

我有一个文本视图,我想将其配置为包装第一个不适合的字符。在 UIKit 中,这相当于设置label.lineBreakMode = .byCharWrapping。SwiftUI Text 已经实现了吗?我在Text 的文档中找不到任何内容。

我想这样做的原因是我要向用户显示很长的代码,因此按字符而不是按单词换行是可取的。

swiftui

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

我无法使用包含加号的电子邮件创建iTunes Connect用户

我以前能够添加或添加为iTunes Connect团队的用户,其中包含一个包含加号的电子邮件.这很方便,因为我能够使用相同的Gmail电子邮件地址成为多个iTunes Connect团队的一员(发送到foo+bar@gmail.com的电子邮件总是发送到foo@gmail.com).现在我收到了错误The email address you entered is invalid. Please try again.

是否正在使用带加号的电子邮件?有解决方法吗?

email itunesconnect

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

从 UIImage 转换为 SwiftUI Image 会产生相同大小的空白图像

我正在尝试使用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)

uikit swiftui

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

如何创建根据远程加载的图像大小自动调整大小的 Jetpack Compose 图像?

我想显示具有以下规则的图像:

  • 该图像是远程的,需要在运行时加载。
  • 在加载图像之前我们不知道图像大小是多少。
  • 视图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)

当我删除ImagecontentScalemodifier,它的高度似乎总是为零。我不确定在 Coil 加载图像文件后确定其自身的大小时应该做什么来填充Image其父级的最大宽度。

android android-jetpack-compose coil

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

在Activity onCreate方法中,Kotlin视图变量意外地为null

我有一个小型的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)

android kotlin android-studio kotlin-android-extensions

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

我可以从Firebase云功能发送静音推送通知吗?

是否可以从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

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

通过PHP"插入"mySQL查询似乎可行,但没有添加任何内容

编辑:我意识到我的问题是我试图插入$ 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)

php mysql mysqli

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