GithubHelp home page GithubHelp logo

janhalozan / sffullscreenimagedetailviewcontroller Goto Github PK

View Code? Open in Web Editor NEW
20.0 3.0 3.0 1.56 MB

An interactive way to present images full screen

License: MIT License

Swift 90.40% Ruby 9.60%

sffullscreenimagedetailviewcontroller's Introduction

SFFullscreenImageDetailViewController

An interactive full screen image presentation view controller.

image

Usage

Using SFFullscreenImageDetailViewController couldn't be simpler. Here's a two liner for ya:

let viewController = SFFullscreenImageDetailViewController(imageView: yourImageViewToPresent)
viewController.presentInCurrentKeyWindow()

And the good ol' ObjC:

SFFullscreenImageDetailViewController *viewController = [[SFFullscreenImageDetailViewController alloc] initWithImageView:yourImageViewToPresent];
[viewController presentInCurrentKeyWindow];

Note that you cannot present the view controller in the traditional way using presentViewController(_:animated:completion:)

Installation

Using cocapods:

pod 'SFFullscreenImageDetailViewController'

Carthage

Not yet. But soon.

Source

You can also download and copy the source code into your project. There are no fancy build settings to tweak, just make sure you link against QuartzCore framework.

Contribution

You are more than welcome to drop me a pull request or an issue if you find anything missing and/or would like to see added in the future.

Authors

JanHalozan

sffullscreenimagedetailviewcontroller's People

Contributors

chrisgrant avatar janhalozan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

sffullscreenimagedetailviewcontroller's Issues

CocoaPods support Broken?

I'm having problems installing the project with Cocoapods. This is the error I get:

PhotosViewController.swift:68:63: Cannot call value of non-function type 'module<SFFullscreenImageDetailViewController>'

image

This is how I import the project:

import SFFullscreenImageDetailViewController

I think it may be related to this. CocoaPods/CocoaPods#5099. Possibly because the Pod and the ViewController have the same name?

Bad behaviour with UITableViewCell

I use a subclass of UIImageView

class FullScreenableImageView: UIImageView {
override func awakeFromNib() {
super.awakeFromNib()

    self.isUserInteractionEnabled = true
    
    let tapGesture = UITapGestureRecognizer(target: self, action: #selector(onTap))
    self.addGestureRecognizer(tapGesture)
}

func onTap() {
    if self.image != nil {
        let controller = SFFullscreenImageDetailViewController(imageView: self)
        controller.presentInCurrentKeyWindow()
    }
}

}

and after dismissing the imageView stays on the top of the window.

Clip to bounds

Hello,
This is a great work. Can you help me how can I display whole image without clipping. If I change view.clipsToBounds = false ;
1- The image doesn't fit the screen,
2- Image returns original location as square and then change to circle.

Your help really appreciated.

Thank you.

Rotation Support?

I am using this great FullScreen Library, but i found out that its not working properly when rotation in device is taking place. i checked the code and tried to make some constraints, but didnt work.
is it only working in init by frames only?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.