- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我以前从未使用过选择器 View 。我假设它类似于 TableView 类的 func tableView(tableView: UITableView, didDeselectRowAtIndexPath indexPath: NSIndexPath) 方法。但是我不知道如何从选择器值中获取文本并将其显示在标签中。我希望这在 postListing 方法中完成。有人可以帮我解决这个问题吗?谢谢。
import UIKit
class BooksViewController: UIViewController , UIPickerViewDelegate, UIPickerViewDataSource, UIImagePickerControllerDelegate , UINavigationControllerDelegate {
@IBOutlet var bookImage: UIImageView!
@IBOutlet var coursePicker: UIPickerView!
@IBOutlet var bookDescription: UITextField!
@IBOutlet var pickerSelectionLabel: UILabel!
var photoSelected = false
var activityIndicator:UIActivityIndicatorView = UIActivityIndicatorView()
@IBAction func pickImage(sender: AnyObject) {
println("pick image pressed")
var image = UIImagePickerController()
image.delegate = self
image.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
image.allowsEditing = false
self.presentViewController(image, animated: true, completion: nil)
}
@IBAction func postListing(sender: AnyObject) {
var error = ""
if (photoSelected == false) {
error = "Please select an image."
} else if (bookDescription.text == "") {
error = "Please enter a description"
}
if (error != "") {
displayAlert("Can't Post Image", error: error)
} else {
let actIndPoint = CGPointMake(self.view.center.x, self.view.center.y)
activityIndicator = UIActivityIndicatorView(frame: CGRectMake(0, 0, 50, 50))
activityIndicator.center = actIndPoint
activityIndicator.hidesWhenStopped = true
activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.Gray
view.addSubview(self.activityIndicator)
activityIndicator.startAnimating()
UIApplication.sharedApplication().beginIgnoringInteractionEvents()
var bookPosting = PFObject(className: "BookPosting")
bookPosting["Description"] = bookDescription.text
bookPosting["username"] = PFUser.currentUser().username
//bookPosting["subject"] = coursePicker
bookPosting.saveInBackgroundWithBlock({ (success: Bool!, error: NSError!) -> Void in
self.activityIndicator.stopAnimating()
UIApplication.sharedApplication().endIgnoringInteractionEvents()
if (success == false) {
self.displayAlert("Can't Post Image", error: "Please try again")
} else {
let imageData = UIImagePNGRepresentation(self.bookImage.image)
let imageFile = PFFile(name: "image.png", data: imageData)
bookPosting["imageFile"] = imageFile
bookPosting.saveInBackgroundWithBlock({ (success: Bool!, error: NSError!) -> Void in
if (success == false) {
self.displayAlert("Can't Post Image", error: "Please try again")
} else {
println("Successful post!")
self.displayAlert("Your image has been posted", error: "Posted Successfully")
self.photoSelected = false
self.bookImage.image = UIImage(named: "book1.png")
self.bookDescription.text = ""
}
})
}
})
}
println("post listing pressed")
}
func displayAlert(title: String, error: String) {
var alert = UIAlertController(title: title, message: error, preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "OK", style: .Default, handler: { action in
self.dismissViewControllerAnimated(true, completion: nil)
}))
self.presentViewController(alert, animated: true, completion: nil)
}
func imagePickerController(picker: UIImagePickerController!, didFinishPickingImage image: UIImage!, editingInfo: [NSObject : AnyObject]!) {
self.dismissViewControllerAnimated(true, completion: nil)
bookImage.image = image
photoSelected = true
}
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return courseCatalog.count
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {
return courseCatalog[row]
}
override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
self.view.endEditing(true)
}
override func viewDidLoad() {
println("Books view controller")
super.viewDidLoad()
photoSelected = false
bookImage.image = UIImage(named: "book1.png")
bookDescription.text = ""
}
}
最佳答案
这是从Picker
中选择组件的Delegate
方法
func pickerView(pickerView: UIPickerView!, didSelectRow row: Int, inComponent component: Int)
{
println("\(courseCatalog[row])")
yourlabelname.text=courseCatalog[row]
}
关于ios - 如何实现pickerView类的didSelectRow方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29191162/
didSelectRow 仅在点击单元格中的空白区域时才在单元格上注册触摸操作。如果用户意外点击单元格中的标签或 ImageView ,则 didSelectRow 不会注册。如何解决这个问题,以便单
我已将以下代码添加到我的 viewDidLoad UITapGestureRecognizer * tapGesture = [[UITapGestureRecognizer alloc]
几乎如标题所说:DidSelectRow 没有被调用,我确实检查过我没有使用 Deselect。我还检查了 delegate 和 DataSource 连接到 tableViewController
我的 UIView 上有一个 UIPickerView 以及一个 UITextField。我让用户从选择器中选择一个值或在文本字段中输入自定义值。 当用户从选择器中选择任何选项时,变量值会发生细微变化
目标 当我单击表格 View 中的单元格并让键盘编辑所选单元格中的标签时,我希望显示一个键盘(自定义)。 我读过并尝试过的内容 堆栈溢出和其他搜索线程/教程 A Swift example of Cu
我是通过 tableView 创建的字体列表,当用户选择任何单元格时,字体字符串应该根据单元格进行更改,但我不知道为什么我的代码不起作用!我的 tableview 使用 UIPopOverViewCo
(Swift、Xcode6、iOS8、iPhone) 在我的 UIPickerView 控件中,didSelectRow 没有被调用。 是的,我已将 Splash 设置为选择器的委托(delegate
在一个 iOS 应用程序中,我有一个 ViewController,它有一个 ContainerView,其中有一个 ViewController(比如 VC2),使用 Embed Segue。此 V
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
我在我的 UITableView 中子类化 UITableViewCell。我以前做过大约一千次,但现在我正试图捕获这个委托(delegate)事件: - (void)tableView:(UITab
我知道 UIPickerViews 在选择行时使用 didSelectRow 方法更新标签等。 我有一个 UIDatePicker,它在选择一行并按下完成按钮时更新标签,但我还想要一个随每次选择而更新
我正在构建一个界面,非常类似于内置天气应用程序的翻转 View ,或编辑模式下时钟应用程序的闹钟 View 。 TableView 始终处于编辑模式,因此删除图标出现在每个单元格的左侧。 当 Tabl
这是一个由两部分组成的问题,第一个问题是在我花了整整一周试图弄清楚这一点之后,我仍然一片空白。我终于让各个单元格显示与文本字段中的选择相关的适当数字,但仍然没有弄清楚为什么重新加载到表格 View 中
我正在 swift 3.0 中开发一个项目,我有 UIViewController 来填充一些文本字段。因此,我使用 TableView 作为下拉菜单,一旦选择一行,它将被分配给 UILabel。此外
我正在 swift 3.0 中开发一个项目,我有 UIViewController 来填充一些文本字段。因此,我使用 TableView 作为下拉菜单,一旦选择一行,它将被分配给 UILabel。此外
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 4 年前。 Improve th
我知道这是非常基本的问题,但我遇到了 UIPickerView 的奇怪行为。这是我的 scanario - 我在我的应用程序中使用 UIPickerView。我的问题是,当我单击一行时,didSele
我使用分段控件让用户在选择器 View 中选择一行后在两种类型的结果之间进行选择。但是,当我在 pickerview 中选择一行时,它会显示所选段的结果,但我选择另一个段时它不会执行任何操作,直到我再
我有一个 UITableView,它由章节和子章节组成。选择章节时,相应的子章节将在 UITableView 中展开。当我单击最后一章时,子章在屏幕上不可见。当子章节出现时必须自动滚动到下方。 最佳答
我有两个 UITableViewController,第一个显示表格 View 数据,第二个处理过滤搜索。 我遇到的问题是在我过滤结果的第二个 UITableViewController 上,当我点击
我是一名优秀的程序员,十分优秀!