Also ich versuche, ein PDF mit swift zu generieren. Ich habe versucht, von Objective C zu Swift zu konvertieren und für den Moment gibt es einige Fehler, die ich nicht zu beheben weiß. HierGenerieren PDF mit Swift 2.0
ist der Code:
@IBAction func createPDFOnClick(sender: AnyObject!)
{
pageSize = CGSizeMake(850,1100)
let fileName: String = "makeME.pdf"
var path: [AnyObject] = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,true)
let documentDirectory: String = path[0] as! String
let pdfPathWithFileName: String = documentDirectory.stringByAppendingString(fileName)
self.createPDF(pdfPathWithFileName)
}
func createPDF(filePath: String){
UIGraphicsBeginPDFContextToFile(filePath,CGRectZero,nil)
UIGraphicsBeginPDFPageWithInfo(CGRectMake(0,0,850,1100),nil)
self.drawBackground()
self.drawText()
UIGraphicsEndPDFContext()
}
func drawBackground() {
let context: CGContextRef = UIGraphicsGetCurrentContext()!
let rect: CGRect = CGRectMake(0,0,pageSize!.width,pageSize!.height)
CGContextSetFillColorWithColor(context,UIColor.whiteColor().CGColor)
CGContextFillRect(context,rect)
}
func drawText() {
var context: CGContextRef = UIGraphicsGetCurrentContext()!
CGContextSetFillColorWithColor(context,UIColor.blackColor().CGColor)
var textRect: CGRect = CGRectMake(0,0,[[self myTextView]frame].size.with, self.myTextView.frame.size.height)
var myString: String = self.myTextView.text!
myString.drawInRect(textRect)
}
Meine Fehler sind die folgenden Zeilen:
var path: [ANYOBJECT] = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, true)
Ich erhalte den Fehler "Verwendung der unaufgelösten Kennung"
var TextRect: CGRect = CGRectMake (0,0, [[self myTextView] frame] .size.with, self.myTextView.frame.size.height)
Hier bin ich immer "erwarten Separator"
Vielen Dank im Voraus.
In meiner drawText Funktion in der letzten Zeile ** myString.drawInRect (TextRect) ** Ich erhalte Fehler ** Kann nicht konvertieren Werte vom Typ 'CGRect' zu erwarteten Argumenttyp * *. – mogren3000
Wie lautet der erwartete Argumenttyp? Wenn dies nicht der Fall ist, löschen Sie diese Zeile und geben Sie sie erneut ein. Lassen Sie die Funktion drawInRect jedoch automatisch vervollständigen und sehen Sie, was der Parameterplatzhalter sagt. –