SwiftUI:调整TabView中图像的位置

时间:2020-01-25 19:45:06

标签: ios swift swiftui tabview

我使用以下代码用TabView创建一个SwiftUI

struct TabbedView: View {
    @State private var selected = 0

    var body: some View {
        TabView(selection: $selected) {
            View1().tabItem {
                Image("Tab1")
            }.tag(1)

            View2().tabItem {
                Image("Tab2")
                .offset(y: 20) //<--- has no effect
                }.tag(2)

            View3().tabItem {
                Image("Tab3")
            }.tag(3)
        }
    }
}

对于没有文本的选项卡项目,我仅使用Image视图,结果如下:

enter image description here

我需要将Image视图定位(或垂直对齐)到TabView的中心,但找不到一种简单的方法。

2 个答案:

答案 0 :(得分:6)

标准#Add your code here! if hour == 12 and hour <= 5 and hour >= 1: print("Taco Bell" , "Cookout", "Waffle House") elif hour > 5 and hour < 11: print("Waffle House" , "Barrelhouse") 现在不允许更改TabView内容的对齐方式...但是可以根据以下内容创建基于tabItem的自定义浮动标签状项目:允许对齐和/或自定义外观,并仍以编程方式激活TabView项。

Button

注意:它甚至可以是不带按钮的,只是带有点击手势的图像等。

答案 1 :(得分:0)

我发现了使用UITabBarController扩展名的窍门

extension UITabBarController {
open override func viewWillLayoutSubviews() {
    let array = self.viewControllers
    for controller in array! {
        controller.tabBarItem.imageInsets = UIEdgeInsets(top: 6, left: 0, bottom: -6, right: 0)
    }
}