调整UIPickerView字体大小

大卫·桑福德(David Sanford)

我看到了许多针对UIPickerView字体大小的解决方案,但似乎它们都基于基于文本的数组和/或需要UIViewController。我在UITableViewCell中使用一个Int数组,似乎无法找到与我要完成的工作一起使用的东西。

这是代码:

import UIKit


class AirTemperatureTableViewCell: UITableViewCell, UIPickerViewDelegate, UIPickerViewDataSource

{
    let numberOfComponents: Int             = 2
    let temperatureComponentRows: Int       = 501
    let temperatureSymbolComponentRows: Int = 2

    let Fahrenheit: String                  = "F"
    let Celsius: String                     = "C"
    let minDegrees                          = -250
    let maxDegrees                          = 250

    private var degrees: Array<Int>         = [Int]()

    var temperature: Int                    = 30    // our default temperature
    var temperatureType: String             = "C"   // our default type is Celsius

    @IBOutlet var airTemperaturePicker: UIPickerView!

    override func awakeFromNib()
    {
        super.awakeFromNib()


        for i in self.minDegrees ..< self.maxDegrees+1
        {
            self.degrees.append(i)
        }

        self.airTemperaturePicker.selectRow(280, inComponent: 0, animated: true)
    }


    override func setSelected(selected: Bool, animated: Bool)
    {
        super.setSelected(selected, animated: animated)
    }

    func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int
    {
        return self.numberOfComponents
    }


    func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int
    {
        if component == 0
        {
            return self.temperatureComponentRows
        }
        else
        {
            return self.temperatureSymbolComponentRows
        }
    }

    func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String?
    {
        //
        //  If we are component 0, the degrees, return the value for the given row.
        //
        if component == 0
        {
            return String(self.degrees[row])
        }
        else
        {
            if row == 0
            {
                return self.Celsius
            }
            else
            {
                return self.Fahrenheit
            }
        }
    }


    func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
    {
    }
}

任何帮助,将不胜感激。

卡克斯

您可以将UILabel与UIPickerViewDataSource的viewForRow方法一起使用。然后,您可以使用所有常规标签选项(包括)配置它。设置字体大小,颜色等:

// goes in lieu of titleForRow if customization is desired
func pickerView(pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusingView view: UIView?) -> UIView {

    let pickerLabel = UILabel()

    if component == 0 {

        pickerLabel.textColor = .darkGrayColor()
        pickerLabel.textAlignment = .Center
        pickerLabel.text = String(self.degrees[row])
        pickerLabel.font = UIFont(name:"Helvetica", size: 28)
    } else {

        pickerLabel.textColor = .redColor()
        pickerLabel.textAlignment = .Center
        pickerLabel.font = UIFont(name:"Helvetica", size: 28)

        if row == 0 {
            pickerLabel.text = self.Celsius
        } else {
            pickerLabel.text = self.Fahrenheit
        }
    }
    return pickerLabel
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

字体大小调整

来自分类Dev

使用Cookie调整字体大小

来自分类Dev

调整字体大小以适合矩形

来自分类Dev

调整字体大小以适合矩形

来自分类Dev

在 jquery 中调整字体大小

来自分类Dev

调整div大小时调整字体大小

来自分类Dev

字体大小根据窗口大小重新调整大小

来自分类Dev

调整主菜单的大小以提高DPI /字体大小

来自分类Dev

CSS在元素调整大小时增加字体大小

来自分类Dev

根据字体大小调整图像大小

来自分类Dev

调整主菜单的大小以实现高DPI /字体大小

来自分类Dev

根据行数和字体大小调整RichTextBox的大小

来自分类Dev

更改字体大小时调整Div的大小

来自分类Dev

WPF将字体大小调整为窗口比例

来自分类Dev

根据字符串长度调整字体大小

来自分类Dev

根据字符串长度调整字体大小

来自分类Dev

圆圈中的数字如何调整字体大小

来自分类Dev

调整散景图的标题字体大小

来自分类Dev

调整导航栏标题字体大小以适合文本

来自分类Dev

在ng-repeat中自动调整字体大小

来自分类Dev

在ggmap中调整地图绘图中的字体大小

来自分类Dev

在打印时调整字体大小

来自分类Dev

Tkinter如何调整字体大小并保持对齐

来自分类Dev

防止Tkinter Text小部件调整字体大小

来自分类Dev

自动调整Swiftui的Text()中的字体大小?

来自分类Dev

液体容器Play Framework中的自动调整的字体大小

来自分类Dev

在屏幕分辨率上调整字体大小

来自分类Dev

在JavaFX中动态调整CSS字体大小规则

来自分类Dev

自适应字体大小调整-适合容器