小编mig*_*now的帖子

实现 willDisplay 函数时 UITableViewCell 不取消选择

我有一个UITableView显示几个可用选项供用户选择的窗口。我想要的是表始终反映所选的选项,这些选项存储在一个数组中,该数组是与视图控制器分开的类的一部分。我试图使用该方法在加载表时显示选定的选项tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath)。我遇到的问题是,当我实现此方法时,加载表时数组中的任何选项在按下时都不会取消选择。代码如下:

class Options {
    enum Option : String {
        case option1 = "Option 1"
        case option2 = "Option 2"
        case option3 = "Option 3"
        case option4 = "Option 4"
        case option5 = "Option 5"
        case option6 = "Option 6"
        case option7 = "Option 7"
    }
    static let allOptions : [Option] = [.option1, .option2, .option3, .option4, .option5, .option6, .option7]
    static var selectedOptions : [Option] = [.option2, .option7]
}

class …
Run Code Online (Sandbox Code Playgroud)

uitableview ios swift

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

Swift - 如何自动大写UIButton的标签?

我正在和一位设计师合作,我们在项目中有一些不同的字体 - 有时候全部都是大写的,有时候全部都是小写的.这适用于我的标签和按钮.这些可能会改变,所以我试图做的是自定义UILabel和UIButton类,其中按钮标题将自动调整到我想要的情况,而不考虑在界面构建器中输入的大小写或来自代码的文本.我已使用以下代码成功管理了我的自定义标签:

class MyHeadlineLabel : UILabel {

override func didMoveToWindow() {
    self.text = self.text?.lowercased()
    self.font = MyFonts.headlineFont
}
}
Run Code Online (Sandbox Code Playgroud)

但是,向UIButton的didMoveToWindow()函数添加类似的代码不起作用:

class MyDarkTextButton: UIButton {

override func didMoveToWindow() {
    self.titleLabel?.text = self.titleLabel?.text?.uppercased()
    self.font = MyFonts.subHeadFont            
}
}
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?或者,更好的是,有没有办法使用我的自定义标签作为按钮标签?

uibutton uilabel ios uppercase swift

2
推荐指数
1
解决办法
2095
查看次数

删除UIPickerView边框

默认的"UIPickerView"在我想删除的顶部和底部有一条细灰线,但我无法知道如何做到这一点.

有什么地方我可以设置清除吗?

uipickerview ios swift

1
推荐指数
2
解决办法
1653
查看次数

当 SwiftUI Picker 选择更改 EnvironmentObject 时,有没有办法调用函数?

我有一个正在使用的 SwiftUI 表单,它更新 EnvironmentObject 的值。当 Picker 的值发生变化时,我需要调用一个函数,但我发现的每一种方式要么非常混乱,要么会导致其他问题。我正在寻找的是 Slider 工作的类似方式,但似乎没有。没有任何解决方案的基本代码在这里:

class ValueHolder : ObservableObject {

@Published var sliderValue : Float = 0.5
static let segmentedControlValues : [String] = ["one", "two", "three", "four", "five"]
@Published var segmentedControlValue : Int = 3

}
struct ContentView: View {

    @EnvironmentObject var valueHolder : ValueHolder

    func sliderFunction() {
        print(self.valueHolder.sliderValue)
    }
    func segmentedControlFunction() {
        print(ValueHolder.segmentedControlValues[self.valueHolder.segmentedControlValue])
    }

    var body: some View {
        Form {
            Text("\(self.valueHolder.sliderValue)")
            Slider(value: self.$valueHolder.sliderValue, onEditingChanged: {_ in self.sliderFunction()
            })
            Text("\(ValueHolder.segmentedControlValues[self.valueHolder.segmentedControlValue])")
            Picker("", selection: self.$valueHolder.segmentedControlValue) {
                ForEach(0..<ValueHolder.segmentedControlValues.count) …
Run Code Online (Sandbox Code Playgroud)

slider picker ios swift swiftui

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