小编Paw*_*ela的帖子

如何在 SwiftUI 中显示整个列表而不滚动

有没有办法让列表的高度自动匹配其内容?

我有一个列表,将显示许多项目(我事先不知道有多少)。默认情况下,当我创建列表时,它没有获得足够的高度,而是显示 1-3 个项目并滚动以显示更多项目。我想禁用滚动行为。

我尝试将框架高度硬编码为某个大值,我确信该值适合所有项目,但这并不理想。我还可以根据 itemHeight * numItems 计算框架高度(如果我将所有项目本身设置为指定高度),但在我的情况下,项目可以具有不同的高度。

也许有一个更简单的解决方案?

我查看了文档,还尝试了 .fixedSize()、不同的列表样式等。这些对我不起作用。

ios swift swiftui

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

glGetShaderInfoLog到std :: string?

这是OpenGL Super Bible第7版的片段:

GLint log_length;
glGetShaderiv(fs, GL_INFO_LOG_LENGTH, &log_length);
std::string str;
str.reserve(log_length);
glGetShaderInfoLog(fs, log_length, NULL, str.c_str());
Run Code Online (Sandbox Code Playgroud)

乍一看,str.c_str()作为一个论证来传达这个功能对我来说似乎很奇怪,当然clang立即抗议:cannot initialize a parameter of type 'GLchar *' (aka 'char *') with an rvalue of type 'const char *'.

所以我尝试调查并更改str.c_str()str.data(),它应该提供指向内部数据数组的指针,但这会产生相同的错误消息.编辑: c_str()并且data()实际上是相同的东西(至少在c ++ 11中),所以我们使用哪一个并不重要.

我做了一些搜索,但没有找到解决方案(虽然我对C++很新,有些事情对我来说仍然不明显).

这是书中的错误吗?有没有办法让它与std :: string一起使用?

c++ opengl string

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

对于确实存在并使用的制服,OpenGL返回-1

我有这个顶点着色器:

#version 430 core

layout (location = 0) in vec3 position;
layout (location = 1) in vec2 textureCoordinate;
layout (location = 2) in vec3 normal;
layout (location = 4) in vec3 tangent;

uniform mat4 projectionMatrix;
uniform mat4 modelViewMatrix;
uniform vec3 lightPosition = vec3(0.0, 1.0, 0.0);

out vec2 texCoord;
out vec3 lightDirection;
out vec3 eyeDirection;

void main() {
    vec4 P = modelViewMatrix * vec4(position, 1.0);
    vec3 N = normalize(mat3(modelViewMatrix) * normal);
    vec3 T = normalize(mat3(modelViewMatrix) * tangent);
    vec3 B = cross(N, …
Run Code Online (Sandbox Code Playgroud)

c++ opengl

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

如何创建一个可以保存像 UInt 这样的值但还有附加值 00 的类型?

我在尝试创建可以保存一组特定值的类型时遇到问题。这是一个篮球应用程序。

篮球运动员有球衣号码。在某些欧洲国家/地区(此应用程序就是这种情况),数字范围从 0 到 99(含)。但是还有一个附加值 00 可用,它与 0 不同。

我可以为此使用 String,但是 String 可以存储其他值,我必须编写额外的验证代码。

现在我使用 UInt 来存储数字。

有没有更好的方法将这些值存储为 Swift 类型?

swift

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

标签 统计

c++ ×2

opengl ×2

swift ×2

ios ×1

string ×1

swiftui ×1