小编She*_*don的帖子

如何在 SwiftUI 中使弹出框的大小适合其内容

我遇到的问题是无法让 a 的弹出视图Button适合其内容的大小。

问题是这样的

在此输入图像描述

和代码:

Button(action: {
    self.showColorDropDownMenu.toggle()
}, label: {
    Circle()
        .fill(Color.red)
        .frame(width: 22, height: 22)
}).popover(isPresented: self.$showColorDropDownMenu) {
    Text("Hello").background(Color.yellow)
}
Run Code Online (Sandbox Code Playgroud)

我尝试.frame(...)使用不同的参数进行调用,但它似乎不适用于 iPadOS

在 SO 上看到了另一个问题,它讨论了同样的问题,但我还不能发表评论,所以我不能问他们是否找到了解决方案,也许还有另一个解决方案。

swift swiftui

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

如何在 char8_t 中存储表情符号并在 C++20 中打印它们?

我刚刚听说 的存在char8_tchar16_t并且char32_t正在测试它。当我尝试编译下面的代码时,g++抛出以下错误:

\n
error: use of deleted function \xe2\x80\x98std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, char32_t) [with _Traits = char_traits<char>]\xe2\x80\x99\n    6 |         std::cout << U\'\' << std::endl;\n      |                      ^~~~~\n
Run Code Online (Sandbox Code Playgroud)\n
error: use of deleted function \xe2\x80\x98std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, char32_t) [with _Traits = char_traits<char>]\xe2\x80\x99\n    6 |         std::cout << U\'\' << std::endl;\n      |                      ^~~~~\n
Run Code Online (Sandbox Code Playgroud)\n

另外,为什么我不能将表情符号放入char8_tchar16_t?例如,以下代码行不起作用:

\n
#include <iostream>\n\nint main() {\n  char32_t c = U\'\';\n\n  std::cout << c << std::endl;\n\n  return 0;\n}\n …
Run Code Online (Sandbox Code Playgroud)

c++ utf-8 utf emoji c++20

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

为什么 const 变量不需要在模板类中初始化,直到类被实际使用?

如果我不在const未使用的模板类中初始化变量,为什么编译器不会抛出错误?如果我删除template关键字,编译器会按预期抱怨。

此代码有效(意外):

#include <iostream>

template<class T>
class Matrix {
private:
    const uint8_t numRows, numColumns;
    T content[];

public:
    Matrix(uint8_t numRows, uint8_t numColumns) 
    // : numRows(numRows), numColumns(numColumns) -- Works fine
    {
        std::cout << "Matrix" << std::endl;
    }
};

int main() {
    // If Matrix constructor is not called the compiler doesn't need a initialization list
    // Matrix<int> matrix(2, 2);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但是这个没有(预期):

#include <iostream>

template<class T>
class Matrix {
private:
    const uint8_t numRows, numColumns;
    T content[];

public: …
Run Code Online (Sandbox Code Playgroud)

c++ templates constants

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

如何从SwiftUI按钮继承

在SwiftUI中可以从Button继承吗?我很累,并且每次都会出错,因为Button期待某种通用参数。

import SwiftUI

struct ButtonSubClass: Button<Label: View> {
    var body: some View {
        Text("Hello, World!")
    }
}
Run Code Online (Sandbox Code Playgroud)

XCode会自动添加<Label: View>零件,但是我不知道它的意思或实际需要放在花括号中的内容。我试过了Button<View>,但是我得到了错误Protocol type 'View' cannot conform to 'View' because only concrete types can conform to protocols

swift swiftui

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

标签 统计

c++ ×2

swift ×2

swiftui ×2

c++20 ×1

constants ×1

emoji ×1

templates ×1

utf ×1

utf-8 ×1