【问题标题】:Issue Adding images to UISegmentedControl将图像添加到 UISegmentedControl 的问题
【发布时间】:2019-09-05 19:12:00
【问题描述】:

我在我的应用中创建了一个分段控件,我想显示图像而不是文本。

所以,我创建了 UIImage 数组,然后将此数组添加到分段控件项中。这些图像看起来像是已添加但正确显示。

到目前为止我已经尝试过什么

import UIKit

class TestView: UIView {


var segmentedControls : UISegmentedControl = {
    var items : [UIImage] = [UIImage]()
    items=[UIImage(named:"pokeball-1")!,UIImage(named:"pokeball-1")!,UIImage(named:"pokeball-1")!]

    var sc = UISegmentedControl(items: items)
    sc.tintColor = .blue
    sc.selectedSegmentIndex = 0
    sc.translatesAutoresizingMaskIntoConstraints = false;
    return sc
}()

override init(frame: CGRect) {
    super.init(frame: frame)
    setupViews()
    setupConstraints()
}
required init?(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
}

func setupViews(){
    addSubview(segmentedControls)
}

func setupConstraints(){
    let h = self.frame.height
    let w = self.frame.width
    segmentedControls.centerXAnchor.constraint(equalTo: self.centerXAnchor).isActive = true
    segmentedControls.centerYAnchor.constraint(equalTo: self.centerYAnchor).isActive = true
    segmentedControls.widthAnchor.constraint(equalToConstant: 200).isActive = true
    segmentedControls.heightAnchor.constraint(equalToConstant: 60).isActive = true

    }
}

我的代码输出

如何正确显示这些图片?请帮助我并感谢所有答案。

【问题讨论】:

  • 截图是你得到的还是你期望的?你能指望什么 ?项目中的图像是相同的。是故意的吗?
  • 不,我不想变成这样的截图。我想展示“如果我编译这段代码,它会像那样工作。”但是我想看图怎么看?是的,我知道图片项目与其只是样本相同。
  • 如果我可以显示这些图片,我该如何设置图片尺寸?
  • 抱歉,您的问题根本不清楚。

标签: swift uisegmentedcontrol


【解决方案1】:

分段控制图像是模板图像。如果想看实物图,把图片渲染模式改成.alwaysOriginal

【讨论】:

    猜你喜欢
    • 2013-03-29
    • 2023-04-01
    • 2012-12-05
    • 2020-06-22
    • 1970-01-01
    • 2018-07-26
    • 2014-01-18
    • 1970-01-01
    相关资源
    最近更新 更多