w 88%$Ͱొͨ͠ϑϨʔϜϫʔΫ w "QQMF1FODJMPSࢦͰͷखॻ͖ೖྗΛఆͯͭ͘͠ΒΕ͍ͯΔ w ؆୯ʹ"QQMF७ਖ਼ͷϝϞΞϓϦ-JLFͳڍಈ͕࣮ݱͰ͖Δ w J04͔Β৽ػೳ͕Ճ͞ΕɺࠓҰ൪ΛूΊΔϥΠϒϥϦ ɹʢ৽ػೳʣɹ˞ຊηογϣϯͰ࣌ؒͷؔͰѻ͑ͣ ɹ4DSJCCMFςΩετϑΟʔϧυʹखॻ͖ͰจࣈΛॻ͘ͱɺςΩετσʔλͱͯ͠ೝࣝ͞ΕΔ ɹ1,4USPLFखॻ͖ͷيಓ͕औಘͰ͖Δ
Ͱ͖Δ͜ͱ w "QQMF७ਖ਼ͷϝϞΞϓϦͷ6*Λ࣮ݱ͢Δ w $BOWBT w 5PPM1JDLFSVOEPSFEP
ϖϯফ͠ΰϜఆن
৭มߋ w 1,%SBXJOHͱ6**NBHF%BUBܕͷ૬ޓมΛ͢Δ w ࢦͱ"QQMF1FODJMͷλονΛࣝผ͢Δ ɹʢͨͩ͠BMMPXT'JOHFS%SBXJOH͕J04͔Β%FQSFDBUFEʹͳ͍ͬͯΔʣ w %FMFHBUFϝιουܦ༝ͰESBXJOHͷมߋɺ 5PPM1JDLFSͷ༻ͷTUBSUFOEΛݕ͢Δ
1,%SBXJOHͷجຊ w ෦ߏṖ w 1,$BOWBT7JFXͷΠϯϓοτΞτϓοτશͯ1,%SBXJOHܕܦ༝ͱͳΔ w 6**NBHFʹϝιουҰൃͰมՄೳ ɹˠނʹଞΞϓϦͱͷڞ༗ҙ֎ͱָͩͬͨ w EBUB3FQSFTFOUBUJPO Ͱ%BUBܕʹҰൃͰมՄೳ w CPVOETΛ͍࣋ͬͯͯɺ$BOWBT7JFXͷαΠζͱผݸʹࣗͷαΠζΛ࣋ͭ
%BUBͰͦͷ··อଘ͢Δͷѱख w 1,%SBXJOH͕ෳʹͳΔͱɺ%BUBͩͱϝλσʔλΛѻ͍Εͳ͍ ʢFYʣॱংɺඳ͍ͨ࣌ɺछྨͳͲ w ެࣜαϯϓϧͩͱҰݸט·͍ͤͯͨͷͰɺͦΕʹͳΒͬͨ struct DataModel: Codable { /// Names of the drawing assets to be used to initialize the data model the first time. static let defaultDrawingNames: [String] = ["Notes"] /// The width used for drawing canvases. static let canvasWidth: CGFloat = 768 /// The drawings that make up the current data model. var drawings: [PKDrawing] = [] var signature = PKDrawing() }
J04ΞϓϦؒͳΒ1,%SBXJOHͤΔʁ ʢະ֬ೝʣ w ݁ہڞ༗͢Δࡍ6**NBHFͰ࿈ܞ͍ͯ͠Δ w ͠ڞ༗ઌͷΞϓϦ1FODJM,JU͍ͬͯͨΒɺ ɹ1,%SBXJOHΛͯ͠ɺڞ༗ઌͷΞϓϦͰฤूΛܧଓͰ͖Δʁ w 6*"DUJWJUZ7JFX$POUSPMMFSͷBDUJWJUZ*UFN"OZͳͷͰɺ ɹޓ͍ͷΞϓϦͷܕೝ͕ࣝ߹͍ͬͯΕड͚͠Ͱ͖ͦ͏ͳؾ͕͢Δ w ͠ࢼͨ͠ํ͕͍ͨΒใ͍ͩ͘͞ʂ
Կ͕ى͖ͨʁ w $PMMFDUJPO7JFXʹԼهͷΑ͏ʹϊʔτΛද͍ࣔͯͨ͠ let drawing = drawings[indexPath.row] let image = drawing.image(from: drawing.bounds, scale: 1.0) w දࣔޙʹϥΠτϞʔυμʔΫϞʔυͷΓସ͕͑ى͜Δͱɺ ɹ৭స͕ߦ͑ͣɺݟ͑ͳ͘ͳͬͯ͠·͏
// MARK: Canvas View Delegate /// Delegate method: Note that the drawing has changed. func canvasViewDrawingDidChange(_ canvasView: PKCanvasView) { hasModifiedDrawing = true updateContentSizeForDrawing() } /// Helper method to set a suitable content size for the canvas view. func updateContentSizeForDrawing() { // Update the content size to match the drawing. let drawing = canvasView.drawing let contentHeight: CGFloat // Adjust the content size to always be bigger than the drawing height. if !drawing.bounds.isNull { contentHeight = max(canvasView.bounds.height, (drawing.bounds.maxY + DrawingViewController.canvasOverscrollHeight) * canvasView.zoomScale) } else { contentHeight = canvasView.bounds.height } canvasView.contentSize = CGSize(width: DataModel.canvasWidth * canvasView.zoomScale, height: contentHeight) } ˞88%$ͷαϯϓϧΑΓ