我在UIView中有一个TextView和一个隐藏按钮,我试图检测用户何时向下滚动到一长串文本的底部,并在它们到达底部时显示隐藏按钮.我看过一些关于如何使用scrollViewDidScroll在Obj-C中完成它的旧帖子,但不确定如何使用swift,或者如何使用TextView而不是ScrollView.任何帮助都会很棒,因为我没有走得很远.
到目前为止,这是我试图将obj-c帖子翻译成swift,但它对我没用,事实上我甚至不确定函数何时被调用:
import UIKit
class MainVC: UIViewController, UIScrollViewDelegate {
@IBOutlet var textView: UIScrollView!
@IBOutlet var button: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
textView.delegate = self
}
func scrollViewDidScroll(textV: UIScrollView) {
if (textV.contentOffset.y >= textV.contentSize.height - textV.frame.size.height)
{
button.isHidden = false
}
}
}
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的任何帮助:)
我正在使用核心数据将URL存储到从imagepicker中获取的图像.
到目前为止,我有以下内容:
let tempImage = info[UIImagePickerControllerOriginalImage] as? UIImage
let image = UIImageJPEGRepresentation(tempImage!, 0.2)
let path = try! FileManager.default.url(for: FileManager.SearchPathDirectory.documentDirectory, in: FileManager.SearchPathDomainMask.userDomainMask, appropriateFor: nil, create: false)
let imageName = UUID().uuidString + ".jpg"
let aPath = path.path
let imagePath = (aPath as NSString).appendingPathComponent(imageName)
Run Code Online (Sandbox Code Playgroud)
结果是现在我有一个路径作为字符串来保存核心数据.但是如何将图像写入路径?我试图使用:
let result = image!.writeToFile(path, atomically: true)
Run Code Online (Sandbox Code Playgroud)
但我得到一个错误,说类型数据的值没有成员writeToFile.还有另一种方法可以在swift 3.0中完成吗?
谢谢你的帮助.
我正在尝试存储图像core data.
我的core data属性文件要求图像位于NSData:
import Foundation
import CoreData
extension Item {
@nonobjc public class func fetchRequest() -> NSFetchRequest<TaskItem> {
return NSFetchRequest<TaskItem>(entityName: "Item");
}
@NSManaged public var itemImage: NSData?
}
Run Code Online (Sandbox Code Playgroud)
但是当我试图保存到core data使用时:
@IBAction func saveBtnTapped(_ sender: AnyObject) {
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
let item = Item(context: context)
let imageData: NSData = UIImageJPEGRepresentation(taskImage.image!, 0.2)
item.itemImage = imageData
(UIApplication.shared.delegate as! AppDelegate).saveContext()
}
navigationController?.popViewController(animated: true)
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Cannot convert value of type 'Data?' to …Run Code Online (Sandbox Code Playgroud) 我需要一点帮助,将浮子向上或向下四舍五入到Swift中最近的偶数.
例如:
32.86 would be closest to 32
33.86 would be closest to 34
Run Code Online (Sandbox Code Playgroud)