3

次のように UIPickerView を実装する必要があります。

ここに画像の説明を入力

ただし、デフォルトの実装では次のようになります。

ここに画像の説明を入力

この UIPickerDatasourse メソッドを使用しました。

func pickerView(pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusingView view: UIView?) -> UIView {

        var pickerLabel = view as? UILabel;

        if (pickerLabel == nil)
        {
            pickerLabel = UILabel()
            pickerLabel?.textAlignment = NSTextAlignment.Center
        }

        pickerLabel?.attributedText = help_getAttributedStringForWalletByAmount(ApiManager.sharedInstance.userService_currentUser!.arrayCurrencyAccounts[row].balance, currency: EnumCurrency(rawValue: ApiManager.sharedInstance.userService_currentUser!.arrayCurrencyAccounts[row].currency))
        pickerLabel?.sizeToFit()

        return pickerLabel!;
    }

より大きなスケーリングを行うことは可能ですか? または、他の回避策がありますか?

4

2 に答える 2

1

次のように試すことができます。

func pickerView(pickerView: UIPickerView, attributedTitleForRow row: Int, forComponent component: Int) -> NSAttributedString? {
     let color = (row == pickerView.selectedRowInComponent(component)) ? UIColor.orangeColor() : UIColor.blackColor()
     return NSAttributedString(string: colors[row], attributes: [NSForegroundColorAttributeName: color])
 }

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

色が変わっています。属性文字列で fontsize を試してみてください。

アップデート:

で述べたように、この回答を参照しtitleFoRrowてくださいviewForRowlabel希望のフォントサイズで設定します。

これが役立つことを願っています:)

于 2016-05-27T07:37:53.130 に答える