---
title: UIShapeProvider
framework: uikit
role: symbol
role_heading: Protocol
path: uikit/uishapeprovider-60loj
---

# UIShapeProvider

An interface for a type that provides a custom shape by resolving it dynamically based on a context.

## Declaration

```swift
protocol UIShapeProvider : Equatable
```

## Topics

### Resolving a custom shape

- [resolve(in:)](uikit/uishapeprovider-60loj/resolve(in:).md)

### Supporting types

- [UIShapeProvider.Context](uikit/uishapeprovider-60loj/context.md)
- [UIShapeProvider.Resolved](uikit/uishapeprovider-60loj/resolved.md)

## Relationships

### Inherits From

- [Equatable](swift/equatable.md)

### Conforming Types

- [UIShape](uikit/uishape-swift.struct.md)

## See Also

### Creating a dynamic hover shape

- [init(_:)](uikit/uishape-swift.struct/init(_:).md)
- [UIShape.ResolutionContext](uikit/uishape-swift.struct/resolutioncontext.md)
- [UIShape.Resolved](uikit/uishape-swift.struct/resolved.md)
