CGDataConsumerCreate
INDEX>
https://cocoaapi.hatenablog.com/entry/CoreGraphics/index:CoreGraphics>
CGDataConsumer - macOS/iOS API解説>
-()xxxxx:
解説
CGDataConsumerCreate は、Core Graphics の CGDataConsumerRef を作成するための関数で、PDFデータや画像データをカスタムのデータストリームに書き込む際に使用されます。
一般的な用途として、PDFコンテンツをメモリやファイルに出力する際に利用されます。
引数
返り値
フレームワーク
XxxxXxxx
クラス
Xxxxxxxxxx
参照
サンプル
// // ContentView.swift // CGDataConsumerCreate // // Created on 2025/02/24. // import SwiftUI import PDFKit struct PDFViewer: NSViewRepresentable { let pdfData: Data func makeNSView(context: Context) -> PDFView { let pdfView = PDFView() pdfView.document = PDFDocument(data: pdfData) pdfView.autoScales = true return pdfView } func updateNSView(_ nsView: PDFView, context: Context) {} } struct ContentView: View { @State private var pdfData: Data? var body: some View { VStack { if let pdfData = pdfData { PDFViewer(pdfData: pdfData) .frame(maxWidth: .infinity, maxHeight: .infinity) } else { Text("PDF を生成するにはボタンを押してください") .padding() } Button("PDF を生成") { pdfData = generatePDF() } .padding() } .frame(width: 600, height: 600) } func generatePDF() -> Data { let pdfData = NSMutableData() // CGDataConsumer を作成(メモリに書き込む) guard let dataConsumer = CGDataConsumer(data: pdfData) else { print("Failed to create CGDataConsumer") return Data() } var mediaBox = CGRect(x: 0, y: 0, width: 500, height: 500) guard let pdfContext = CGContext(consumer: dataConsumer, mediaBox: &mediaBox, nil) else { print("Failed to create PDF context") return Data() } // PDFページの開始 pdfContext.beginPDFPage(nil) // 四角形の描画 pdfContext.setFillColor(NSColor.red.cgColor) pdfContext.fill(CGRect(x: 100, y: 100, width: 300, height: 300)) // テキストの描画 let text = "Hello, PDF!" let attributes: [NSAttributedString.Key: Any] = [ .font: NSFont.systemFont(ofSize: 24), .foregroundColor: NSColor.black ] let attributedText = NSAttributedString(string: text, attributes: attributes) attributedText.draw(at: CGPoint(x: 150, y: 400)) // PDFページの終了 pdfContext.endPDFPage() pdfContext.closePDF() print("PDF Generated!") return pdfData as Data } } struct MyMacApp: App { var body: some Scene { WindowGroup { ContentView() } .windowStyle(.automatic) .commands { CommandGroup(replacing: .newItem) { Button("新しい PDF") { // Optional: 新規 PDF 生成処理 } } } } }
TextField
INDEX>SwiftUI > Views and Controls
テキストフィールド
Swift
struct TextField<Label> where Label : View
解説
A view that displays one or more lines of read-only text.
フレームワーク
SwiftUI
クラス
使用可能
参照
更新時のバージョン
関連記事(外部サイト)
例文
Swift
@State private var name = "" var body: some View { VStack { TextField("your name?", text: $name) .textFieldStyle(RoundedBorderTextFieldStyle()) .padding() Text("Hello, World!") .frame(maxWidth: .infinity, maxHeight: .infinity) } }
Views and Controls
INDEX>SwiftUI > Views and Controls
Overview
ビューとコントロールは、アプリケーションのユーザーインターフェースの視覚的な構成要素です。
これらを使用して、アプリのコンテンツを画面に表示します。
ビューは、テキスト、画像、形状、カスタム図面、およびこれらすべての組み合わせを表します。
コントロールにより、ユーザーのプラットフォームとコンテキストに適応する一貫したAPIとの対話が可能になります。
視覚的な関係と階層を指定するコンテナーを使用してビューを結合します。
モディファイア(修飾子)と呼ばれるメソッドを使用して、組み込みビューおよびアプリ用に作成したビューの表示、動作、対話性をカスタマイズします。
ビューとコントロールにモディファイヤを適用して、次のことを行います。
ビューのサイズ、位置、および外観の属性を制御します。
タップ、ジェスチャー、その他のユーザー操作に応答します。
ドラッグアンドドロップ操作をサポートします。
アニメーションとトランジションをカスタマイズします。
スタイル設定とその他の環境データを設定します。
ビューとコントロールの使用方法の詳細については、ヒューマンインターフェイスガイドラインを参照してください。
トピック
必須
プロトコルビュー
SwiftUIビューを表すタイプ。
ビューの作成と結合
このチュートリアルでは、お気に入りの場所を発見して共有するためのiOSアプリであるランドマークの構築について説明します。 まず、ランドマークの詳細を示すビューを作成します。
UIコントロールの操作
ランドマークアプリでは、ユーザーは自分の個性を表現するプロファイルを作成できます。 ユーザーがプロフィールを変更できるようにするには、編集モードを追加して、設定画面をデザインします。
Text
struct Text
1行以上の読み取り専用テキストを表示するビュー。
struct TextField
TextField - Cocoa API解説(macOS/iOS)
編集可能なテキストインターフェイスを表示するコントロール。
struct SecureField
ユーザーがセキュリティ入力を行うテキストコントロール
struct Font
An environment-dependent font.
Images
struct Image
A view that displays an environment-dependent image.
Buttons
struct Button
A control that performs an action when triggered.
struct NavigationLink
A button that triggers a navigation presentation when pressed.
struct MenuButton
A button that displays a menu containing a list of choices when pressed.
struct EditButton
A button that toggles the edit mode for the current edit scope.
struct PasteButton
A system button that triggers reading data from the pasteboard.
Value Selectors
struct Toggle
A control that toggles between on and off states.
struct Picker
A control for selecting from a set of mutually exclusive values.
struct DatePicker
A control for selecting an absolute date.
struct Slider
A control for selecting a value from a bounded linear range of values.
struct Stepper
A control used to perform semantic increment and decrement actions.
Supporting Types
struct ViewBuilder
A custom parameter attribute that constructs views from closures.
protocol ViewModifier
A modifier that you apply to a view or another view modifier, producing a different version of the original value.
SwiftUI
フレームワークの説明
クラス
Essentials
SwiftUIでアプリを作成する方法を学ぶ
SwiftUIとXcodeを使用してアプリを作成する方法を学ぶには、一連のガイド付きチュートリアルを行ってください。

Apple MacBook Pro (13インチ, 一世代前のモデル, 8GB RAM, 512GBストレージ, 2.4GHzクアッドコアIntel Core i5プロセッサ) - シルバー
- 発売日: 2019/05/22
- メディア: Personal Computers
ユーザーインターフェース
ビューとコントロール
コンテンツを画面に表示し、ユーザーの操作を処理します。
ビューレイアウトと表示
スタック内のビューを組み合わせ、ビューのグループとリストを動的に生成し、ビューのプレゼンテーションと階層を定義します。
描画とアニメーション
色、形、影でビューを装飾し、ビューステート間のアニメーション化された遷移をカスタマイズします。
Framework Integration
Integrate SwiftUI views into existing apps, and embed AppKit, UIKit, and WatchKit views and controllers into SwiftUI view hierarchies.
Data and Events
State and Data Flow
Control and respond to the flow of data and changes within your app’s models.
Gestures
Define interactions from taps, clicks, and swipes to fine-grained gestures.
maximumExtendedDynamicRangeColorComponentValue
拡張ダイナミックレンジ(EDR)値
Swift
open func canRepresent(_ displayGamut: NSDisplayGamut) -> Bool
解説
拡張ダイナミックレンジ(EDR)値
返り値
Swift
open var maximumExtendedDynamicRangeColorComponentValue: CGFloat { get }
引数
フレームワーク
ApplicationKit
クラス
NSScreen
使用可能
10.11-
参照
更新時のバージョン
OS X 10.14.5
Swift4.0
関連記事(外部サイト)
例文
Swift4.0
@IBAction func function015(_ sender: Any) { let screenArray : [AnyObject] = NSScreen.screens for value in screenArray { print("value = \(Float(value.maximumExtendedDynamicRangeColorComponentValue)) ") } }
canRepresent
スクリーンでサポートされる色深度を返します
Swift
open func canRepresent(_ displayGamut: NSDisplayGamut) -> Bool
解説
ガモットマッピング可能かどうかを返します。
返り値
色深度の配列
Swiftopen func canRepresent(_ displayGamut: NSDisplayGamut) -> Bool
引数
フレームワーク
ApplicationKit
クラス
NSScreen
使用可能
10.12
参照
更新時のバージョン
OS X 10.14.5
Swift4.0
例文
Swift4.0
@IBAction func function008(_ sender: Any) { let screenArray : [AnyObject] = NSScreen.screens for value in screenArray { let result : Bool = value.canRepresent(.sRGB) if (result){ print("YES") }else{ print("NO") } } }