Latest 1.0.6
Homepage https://github.com/paulz/ImageCoordinateSpace
License MIT
Platforms ios 9.2, requires ARC
Frameworks UIKit
Authors

Image Coordinate Space

UICoordinateSpace for UIImageView image

Build Status
codecov
Version
License
Platform
Carthage compatible
Swift

Usage

Convert CGPoint from image coordinates to view coordinates:

import ImageCoordinateSpace

let imageSpace = imageView.contentSpace()
let imageTopLeft = imageSpace.convert(CGPoint.zero, to: imageView)

Convert CGPoint from view coordinates to image coordinates:

let viewTopLeft = imageSpace.convert(CGPoint.zero, from: imageView)

Similar conversions are available for CGRect:

let imageRect = CGRect(x: 321, y: 102, width: 63, height: 64)
let viewRect = imageSpace.convert(imageRect, to: imageView)

and from view coordinates to image coordinates:

let viewRect = CGRect(x: 107, y: 68, width: 21, height: 42.667)
let imageRect = imageSpace.convert(viewRect, from: imageView)

Examples

Add positioned image overlay

Open included Xcode Example project to see Xcode Playground: Example/Visual.playground

Demonstrate image ovelay placement

Converting image face detection regions to view touch points

Other uses from popular Stackoverflow questions:

Documentation

HeaderDoc is included, see UIImageView+UICoordinateSpace.swift

Installation

CocoaPods

  • add the following line to your Podfile:

    pod 'ImageCoordinateSpace'

  • run pod install

Carthage

  • add to your Cartfile:

    github "paulz/ImageCoordinateSpace"

  • run carthage update
  • link your app with ImageCoordinateSpace.framework from Carthage/Build/iOS folder

Unit tests

To run included unit tests install dependencies via Carthage:

carthage bootstrap

Run tests:

xcodebuild test -scheme ImageCoordinateSpace -destination 'platform=iOS Simulator,name=iPhone X'

See them pass at lightning speed:

Test Suite 'All tests' passed at 2017-12-13 08:07:14.826.
Executed 36 tests, with 0 failures (0 unexpected) in 0.013 (0.023) seconds
** TEST SUCCEEDED **

Author

Paul Zabelin, https://github.com/paulz

License

ImageCoordinateSpace is available under the MIT license. See the LICENSE file for more info.

Latest podspec

{
    "name": "ImageCoordinateSpace",
    "swift_version": "4.1",
    "cocoapods_version": ">= 1.4.0",
    "version": "1.0.6",
    "summary": "Convert image coordinates to image view depending on content mode",
    "description": "Convert CGPoint and CGRect between UIImage and UIImageView coordinates respecting UIViewContentMode and using UICoordinateSpace",
    "homepage": "https://github.com/paulz/ImageCoordinateSpace",
    "screenshots": "https://raw.githubusercontent.com/paulz/ImageCoordinateSpace/master/Example/demo.gif",
    "license": "MIT",
    "authors": {
        "Paul Zabelin": "https://github.com/paulz"
    },
    "source": {
        "git": "https://github.com/paulz/ImageCoordinateSpace.git",
        "tag": "1.0.6"
    },
    "social_media_url": "https://twitter.com/iospaulz",
    "platforms": {
        "ios": "9.2"
    },
    "requires_arc": true,
    "source_files": "ImageCoordinateSpace/**/*.{h,swift}",
    "frameworks": "UIKit",
    "testspecs": [
        {
            "name": "UnitSpecs",
            "test_type": "unit",
            "resources": "Example/Assets.xcassets",
            "source_files": "Unit Tests/**/*.{h,swift}",
            "dependencies": {
                "Quick": "~> 1.2",
                "Nimble": "~> 7.0"
            }
        }
    ]
}

Pin It on Pinterest

Share This