gpt4 book ai didi

swift - 如何在 UIAlertController 中添加 UIPickerView?

转载 作者:行者123 更新时间:2023-11-28 07:07:14 24 4
gpt4 key购买 nike

谁能帮帮我,我不知道该怎么做。我有这样的类(class)

import Foundation
import UIKit
class Alert {

func loginAlert(viewController : UIViewController , callback: (result: Bool) -> ()) {
var alert = UIAlertController(title : "Compose",
message : "Fill the following",
preferredStyle: UIAlertControllerStyle.Alert
)


var loginAction = UIAlertAction(title: "Send", style: UIAlertActionStyle.Default){
UIAlertAction in


}
var cancelAction = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel){
UIAlertAction in

callback(result: false);
}
alert.addAction(loginAction)
alert.addAction(cancelAction)



alert.addTextFieldWithConfigurationHandler { (textField) -> Void in
textField.secureTextEntry = true
textField.placeholder = "Message"

}


viewController.presentViewController(alert, animated: true, completion: nil)

}

}

我读到关于 addTextFieldWithConfigurationHandler 的内容,它似乎只适用于文本字段,我想知道我该怎么做。谁能帮助我,任何意见和建议都可以。提前致谢。

最佳答案

我需要在带有取消/开始按钮的 AlertController(控制 NSTimer)中有一个弹出式 pickerView。它的风格也很好。我已经取出了所有计时器的东西,这是基本的选择器代码,希望它能帮助别人。

ps 完整的 monty 会弹出一个选择器,该选择器将计时器设置为选定的选择器值,并在计时器完成时播放一首曲子。需要的话可以发帖。它为食谱提供计时器/闹钟。

let pickerSet = ["5","10","15","20","30","35","40","45","50","55","60", "65", "70", "75", "80", "85", "90"]
func showPickerInActionSheet() {
let message = "\n\n\n\n\n\n\n\n"
let alert = UIAlertController(title: "", message: message, preferredStyle: UIAlertControllerStyle.Alert)
alert.modalInPopover = true

let attributedString = NSAttributedString(string: "Set Timer Minutes", attributes: [
NSFontAttributeName : UIFont.systemFontOfSize(20), //your font here,
NSForegroundColorAttributeName : UIColor(red:0.29, green:0.45, blue:0.74, alpha:1.0) ])
alert.setValue(attributedString, forKey: "attributedTitle")

//Create a frame (placeholder/wrapper) for the picker and then create the picker
let pickerFrame: CGRect = CGRectMake(35, 52, 200, 140) // CGRectMake(left, top, width, height) - left and top are like margins
let picker: UIPickerView = UIPickerView(frame: pickerFrame)
picker.backgroundColor = UIColor(red:0.29, green:0.45, blue:0.74, alpha:1.0)

//set the pickers datasource and delegate
picker.delegate = self
picker.dataSource = self

//Add the picker to the alert controller
alert.view.addSubview(picker)

let cancelAction = UIAlertAction(title: "Cancel", style: .Cancel, handler: nil)
alert.addAction(cancelAction)

let okAction = UIAlertAction(title: "Start", style: .Default, handler: {
(alert: UIAlertAction!) -> Void in self.doSomethingWithValue(Int(self.pickerSet[picker.selectedRowInComponent(0)])!) })
alert.addAction(okAction)

viewController.presentViewController(alert, animated: true, completion: nil)
}

func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int { return 1 }

func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { return pickerSet.count }

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

func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { return pickerSet[row] }

func pickerView(pickerView: UIPickerView, attributedTitleForRow row: Int, forComponent component: Int) -> NSAttributedString? {
let titleData = pickerSet[row]
let myTitle = NSAttributedString(string: titleData, attributes: [NSFontAttributeName:UIFont(name: "Verdana", size: 15.0)!,NSForegroundColorAttributeName:UIColor.whiteColor()])
return myTitle
}


func doSomethingWithValue(value: Int) {
self.selection = value
}

关于swift - 如何在 UIAlertController 中添加 UIPickerView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30022486/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com