<!--
{
  "availability" : [
    "iOS: 17.4.0 -",
    "iPadOS: 17.4.0 -",
    "macCatalyst: 17.4.0 -",
    "visionOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "Assignables",
  "identifier" : "/documentation/Assignables/AssignableDocument/QuestionBox",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Assignables"
    ],
    "preciseIdentifier" : "s:11Assignables18AssignableDocumentV11QuestionBoxV"
  },
  "title" : "AssignableDocument.QuestionBox"
}
-->

# AssignableDocument.QuestionBox

A box on a page for a question.

```
struct QuestionBox
```

## Overview

### Creating a question box

- [`init(id:pageID:bounds:)`](/documentation/Assignables/AssignableDocument/QuestionBox/init(id:pageID:bounds:))

### Inspecting the question box

- [`bounds`](/documentation/Assignables/AssignableDocument/QuestionBox/bounds)
- [`AssignableDocument.QuestionBox.ID`](/documentation/Assignables/AssignableDocument/QuestionBox/ID-swift.typealias)
- [`id`](/documentation/Assignables/AssignableDocument/QuestionBox/id-swift.property)
- [`pageID`](/documentation/Assignables/AssignableDocument/QuestionBox/pageID)
- [`AssignableDocument.QuestionBox.Document`](/documentation/Assignables/AssignableDocument/QuestionBox/Document)

### Comparing question boxes

- ``==(*:*:)`

### Hashing the question box

- [`hash(into:)`](/documentation/Assignables/AssignableDocument/QuestionBox/hash(into:))

## Topics

### Operators

[`static func == (AssignableDocument.QuestionBox, AssignableDocument.QuestionBox) -> Bool`](/documentation/Assignables/AssignableDocument/QuestionBox/==(_:_:))

Returns a Boolean value indicating whether two values are equal.

### Initializers

[`init(id: AssignableDocument.QuestionBox.ID, pageID: AssignableDocument.Page.ID, bounds: CGRect)`](/documentation/Assignables/AssignableDocument/QuestionBox/init(id:pageID:bounds:))

Initialize a question box.

### Instance Properties

[`var bounds: CGRect`](/documentation/Assignables/AssignableDocument/QuestionBox/bounds)

The bounds of the question box on the page.

[`var id: AssignableDocument.QuestionBox.ID`](/documentation/Assignables/AssignableDocument/QuestionBox/id-swift.property)

The stable identity of this box.

[`var pageID: AssignableDocument.Page.ID?`](/documentation/Assignables/AssignableDocument/QuestionBox/pageID)

A read-only property providing the identifier of the page
that owns this question box.
If the box is not yet assigned to a page, this value is `nil`.

### Instance Methods

[`func hash(into: inout Hasher)`](/documentation/Assignables/AssignableDocument/QuestionBox/hash(into:))

Hashes the essential components of this value by feeding them into the given hasher.

### Type Aliases

[`typealias Document`](/documentation/Assignables/AssignableDocument/QuestionBox/Document)

The document type this element is for.

[`typealias ID`](/documentation/Assignables/AssignableDocument/QuestionBox/ID-swift.typealias)

A type representing the stable identity of this box.

## Relationships

### Conforms To

[`AssignableDocumentElement`](/documentation/Assignables/AssignableDocumentElement)

[`Identifiable`](/documentation/Swift/Identifiable)

[`DocumentElement`](/documentation/Assignables/DocumentElement)

[`Hashable`](/documentation/Swift/Hashable)

[`Equatable`](/documentation/Swift/Equatable)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)