账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    苹果系统selected标签不能自定义选中
    31
    0

    一个网页,在苹果手机上打开(不论什么浏览器),都不支持select标签的默认选中,例如
    <select>

    <option value="1">选项一</option>
    <option value="2" selected>选项二</option>
    <option value="3">选项三</option>

    </select>
    就是显示默认选中还是选项一,安卓手机可以显示选项二。
    有没有办法解决

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • ﹍Mr.鹿℡ 普通会员 1楼

      在苹果的iOS系统中,选择标签("selected")并不是一个直接的标签类型,而是iOS中的一个UI元素,它在UI布局和样式中具有重要的作用。但是,如果你想要自定义选择标签的样式和行为,你可以通过创建自定义UI组件(例如,StatefulSet或者瀑布流组件)并使用它来实现你的需求。

      以下是一个简单的示例,说明如何在iOS中创建一个自定义选择标签:

      1. 首先,创建一个新的StatefulSet组件:

      ```swift import UIKit

      class MyStatefulSet: StatefulSet { let settings = StatelessSetConfiguration( name: "MySelection", supportedOptions: [ "Option1", "Option2", "Option3", ], )

      override func viewDidLoad() {
          super.viewDidLoad()
      
          // 创建一个选择标签的布局
          let selectionLabel = UILabel(frame: CGRect(x: 100, y: 100, width: 200, height: 20))
          selectionLabel.center = CGPoint(x: view.center.x, y: view.center.y)
          selectionLabel.textAlignment = .center
          selectionLabel.text = "Selected: \(settings.supportedOptions)"
          selectionLabel.font = UIFont.systemFont(ofSize: 24)
          view.addSubview(selectionLabel)
      
          // 添加一个操作按钮
          let optionButton = UIButton(frame: CGRect(x: 10, y: 50, width: 100, height: 30))
          optionButton.setTitle("Select", for: .normal)
          optionButton.addTarget(self, action: #selector(handleOptionClick), for: .touchUpInside)
          view.addSubview(optionButton)
      }
      
      @objc func handleOptionClick() {
          // 当选择标签被点击时,更新UI
          settings.supportedOptions = settings.supportedOptions.map { option in
              if option == "Option1" {
                  // 如果当前选项为"Option1",显示"Option1 selected"的样式
                  return .textStyle(labelStyle: .titleStyle())
              } else if option == "Option2" {
                  // 如果当前选项为"Option2",显示"Option2 selected"的样式
                  return .textStyle(labelStyle: .titleStyle())
              } else if option == "Option3" {
                  // 如果当前选项为"Option3",显示"Option3 selected"的样式
                  return .textStyle(labelStyle: .titleStyle())
              } else {
                  // 如果当前选项不在此列表中,显示"Option1 selected"的样式
                  return .textStyle(labelStyle: .normal)
              }
          }
      }
      

      } ```

      在这个示例中,我们首先创建了一个名为"MySelection"的StatefulSet,其中包含一个名为"settings"的StatelessSetConfiguration对象,用于定义标签的支持选项。然后,我们创建了一个包含一个选择标签的布局和一个操作按钮的视图。在视图的viewDidLoad()方法中,我们首先创建了一个选择标签,设置其文本内容为"Selected: (settings.supportedOptions)",并使用labelStyle属性设置了其样式(在这个例子中,我们使用了一个可选的样式表,其中包含三个不同的样式:"titleStyle","subtitleStyle"和"normal")。

      在选择标签的handleOptionClick()方法中,我们首先检查当前选择的选项是否在设置的"supportedOptions"列表中。如果是,我们使用map操作符和一个函数来获取每个支持选项的默认样式,并应用到当前选项上。如果当前选项不在列表中,我们使用默认样式。最后,我们更新settings.supportedOptions的值,并返回一个根据当前选项设置的样式。

      注意,你需要将这个StatefulSet组件添加到你的iOS项目中,例如:

      ```swift import UIKit

      class ViewController: UIViewController { let myStatefulSet = MyStatefulSet()

      override func viewDidLoad() {
          super.viewDidLoad()
      
          // 在视图的root view上添加StatefulSet组件
          view.addSubview(myStatefulSet)
      }
      

      } ```

      现在,当你点击操作按钮时,选择标签会根据当前选项的值显示相应的样式。

    更多回答
    扫一扫访问手机版