Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 有条件地将导航栏项的标签更改为较短的标签会导致对齐不正确_Ios_Swiftui - Fatal编程技术网

Ios 有条件地将导航栏项的标签更改为较短的标签会导致对齐不正确

Ios 有条件地将导航栏项的标签更改为较短的标签会导致对齐不正确,ios,swiftui,Ios,Swiftui,将导航栏项目标签从较长标签切换到较短标签时,新的较短标签将与旧标签的中心对齐,如下图所示: 这是问题的代码: struct NavBarItemIssueView: View { @State private var isLargeView = true var body: some View { NavigationView { Text("Some text") .navigationBarItem

将导航栏项目标签从较长标签切换到较短标签时,新的较短标签将与旧标签的中心对齐,如下图所示:

这是问题的代码:

struct NavBarItemIssueView: View {
    @State private var isLargeView = true

    var body: some View {
        NavigationView {
            Text("Some text")
                .navigationBarItems(leading: Button(action: {
                    self.isLargeView.toggle()
                }) {
                    if self.isLargeView == true {
                        Text("Show small label")
                    } else {
                        Text("Small")

                    }
                })
        }
    }
}

在我正在制作的应用程序中,当编辑模式启用或禁用时,我必须在两个标签之间切换,并且出现此问题。有没有办法在swift(ui)中修复此对齐?您可以使用
minWidth
在按钮上设置一个大约与最大按钮宽度相等的边框,然后将按钮与前缘对齐:

NavigationView{
文本(“某些文本”)
.navigationBarItems(前导:按钮(操作:{
self.isLargeView.toggle()
}) {
如果self.isLargeView==true{
文本(“显示小标签”)
}否则{
文本(“小”)
}
}
.frame(最小宽度:200,对齐:。前导)
)
}