【发布时间】:2020-09-18 08:30:34
【问题描述】:
我有一个带有两个选项的分段控件。我想根据 selectorindex 显示不同的视图。但由于某种原因,我收到了警告:
“PersonalAddressView”初始值设定项的结果未使用
和
“CorporateAddressView”初始值设定项的结果未使用
struct AddressSegment : View {
@State private var selectorIndex = 0
@State private var options = ["Bireysel","Kurumsal"]
init() {
UISegmentedControl.appearance().selectedSegmentTintColor = #colorLiteral(red: 0.05490196078, green: 0.3254901961, blue: 0.368627451, alpha: 1)
UISegmentedControl.appearance().setTitleTextAttributes([.foregroundColor: UIColor.white], for: .selected)
UISegmentedControl.appearance().setTitleTextAttributes([.foregroundColor: UIColor.init(displayP3Red: 0.05490196078, green: 0.3254901961, blue: 0.368627451, alpha: 1)], for: .normal)
}
var body: some View {
VStack {
Picker("Addresses", selection: $selectorIndex) {
ForEach(0..<options.count) { index in
Text(self.options[index]).tag(index)
}
}
.onReceive([self.selectorIndex].publisher.first(), perform: { value in
if value == 0 {
PersonalAddressView()
} else {
CorporateAddressView()
}
})
.pickerStyle(SegmentedPickerStyle())
.frame(width: 216, height: 28, alignment: .center)
.cornerRadius(5)
.foregroundColor(.white)
}
}
}
【问题讨论】: