我正在使用 Jetpack Compose 并尝试在用户单击 .txt 文件中的登录按钮时使登录屏幕覆盖整个屏幕TopAppBar。
ModalBottomSheetLayout我使用和 a的组合,Scaffold所以我可以有 aTopAppBar和 a BottomAppBar。
目前,当显示登录屏幕时,它仅覆盖屏幕的一半。
val coroutineScope = rememberCoroutineScope()
val bottomState = rememberModalBottomSheetState(ModalBottomSheetValue.Hidden)
ModalBottomSheetLayout(
sheetState = bottomState,
sheetShape = MaterialTheme.shapes.large,
sheetContent = {
FullScreen()
}
) {
Scaffold(
topBar = {
TopAppBar(
...
content = {
NavHost(navController = navController,
startDestination = "journey") {
composable("journey") { JourneyScreen() }
...
bottomBar = {
BottomAppBar(
content = {
BottomNavigation() {
val navBackStackEntry by navController.currentBackStackEntryAsState()
...
Run Code Online (Sandbox Code Playgroud)
@Composable
fun FullScreen() …Run Code Online (Sandbox Code Playgroud) 我无法尝试使用纹理贴图在iOS模拟器上运行一个简单的四边形.我已经阅读了这里涉及类似事情的所有其他问题而且我被困住了.输出如下所示:
纹理是这样的:
我的代码是这样的:
// v1 +----+ v0
// | |
// v2 +----+ v3
SCNVector3 vertices[] = { SCNVector3Make( 5.0, 5.0, 0.0),
SCNVector3Make( -5.0, 5.0, 0.0),
SCNVector3Make( -5.0, -5.0, 0.0),
SCNVector3Make( 5.0, -5.0, 0.0)
};
SCNVector3 normals[] = { SCNVector3Make( 0.0f, 0.0f, 1.0),
SCNVector3Make( 0.0f, 0.0f, 1.0),
SCNVector3Make( 0.0f, 0.0f, 1.0),
SCNVector3Make( 0.0f, 0.0f, 1.0)
};
CGPoint textureCoordinates[] = { CGPointMake( 1.0, 1.0),
CGPointMake( 0.0, 1.0),
CGPointMake( 0.0, 0.0),
CGPointMake( 1.0, 0.0)
};
NSUInteger vertexCount = 4;
NSMutableData *indicesData = …Run Code Online (Sandbox Code Playgroud) 我试图在各种UICollectionViewFlowLayout子类之间设置动画.每个流布局指定不同的项目大小.一个显示一个包含3个项目的网格,另一个显示包含2个项目的网格,第三个显示只有1个项目(看起来像UITableView).
我正在调用setCollectionViewLayout:animated:来做这件事.单元格大小的动画效果很好.然而,子视图有点混乱.每个单元格都包含一个图像和一个标签(暂时删除了标签).我希望图像随着单元格的大小变化而改变其大小的变化,同样也就是标签.
如果我使用自动布局(目前还不是很好)来布局我的单元格的子视图,那么在动画开始时,图像会调整大小到目标单元格框架.我理解UIView动画是如何工作的,因为他们会立即改变动画属性并且动画在表示层中完成,但我希望自动布局以某种方式工作.
如果我删除自动布局并在initWithFrame中执行以下操作:
[[self imageView] setAutoresizingMask:UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleRightMargin];
Run Code Online (Sandbox Code Playgroud)
那么图像子视图的大小动画很好,但是在循环几个动画后,图像子视图的大小和位置在某些情况下是不正确的.
我已尝试在layoutSubviews中布置子视图,但这会产生与AutoLayout相同的结果.
我在github上看到的所有在UICollectionViewLayouts之间制作动画的演示只有一个彩色背景或填充整个单元格的子视图.有没有人设法让这个工作?
下面是正在发生的图像(红线是UIImageView的边框):
我在编译也是通用的序列化数据类时遇到问题。我对 Android 和 Kotlin 非常陌生,但我是一位经验丰富的 iOS/Swift 开发人员(不要因此而反对我)。
我正在尝试围绕 GraphQL 响应设置一个通用数据类包装器,它可以返回数据字段中的 T 泛型,或错误字段中的错误。
import kotlinx.serialization.Serializable
@Serializable
data class GraphQLResponse<T:Serializable> (
val errors : List<ErrorResponse>? = null,
val data : Map<String, T>? = null
) {
@Serializable
data class Location(
val line: Int? = 0,
val column: Int? = 0,
val sourceName: String? = null
)
@Serializable
data class ErrorResponse(
val locations: List<Location>? = null,
val errorType: String? = null,
val message: String? = null
)
}
Run Code Online (Sandbox Code Playgroud)
编译这个我得到以下错误:
java.lang.AssertionError: Couldn't load KotlinClass …Run Code Online (Sandbox Code Playgroud) 我听说过一些传言称Apple拒绝使用iOS5弃用方法的应用程序[UIDevice uniqueIdentifier].任何人都可以确认他们的应用程序被拒绝了吗?我知道使用这种弃用方法的替代方法,但我们的一位客户要求我们使用我们知道使用此方法的第三方库.
如果是这种情况,我会感到惊讶,因为API方法已被弃用而不是私有的.
我刚刚开始使用 Watch 开发和 SwiftUI,并认为我会从一个简单的登录屏幕开始。我做了两个不同风格的两个按钮。奇怪的是,我的按钮有一个奇怪的红色内部视图,我不知道为什么。
struct ContentView : View
{
var body: some View
{
VStack
{
Button( "Login")
{
}
.accentColor( .white)
.frame( idealHeight:50.0)
.padding( [.leading, .trailing], 10.0)
.background( Color.red)
.cornerRadius( 5.0)
Button( "Sign Up")
{
}
.accentColor( .red)
.frame( idealHeight:50.0)
.padding( [.leading, .trailing], 10.0)
.background( Color.white)
.cornerRadius( 5.0)
}
}
}
Run Code Online (Sandbox Code Playgroud)
有人能告诉我这里发生了什么吗?
另外,如果有人的声誉为 1500,他们可以创建 WatchOS6 标签吗?
更新:这在 iPhone 上比在手表上工作得更好,按钮在两种设备上的工作方式似乎不同。正如@MarkT 指出的那样,您需要从简单的按钮样式开始。问题在于它会阻止您使用自己的按钮样式。