{"action":"created","issue":{"url":"https://api.github.com/repos/JakeLin/IBAnimatable/issues/248","repository_url":"https://api.github.com/repos/JakeLin/IBAnimatable","labels_url":"https://api.github.com/repos/JakeLin/IBAnimatable/issues/248/labels{/name}","comments_url":"https://api.github.com/repos/JakeLin/IBAnimatable/issues/248/comments","events_url":"https://api.github.com/repos/JakeLin/IBAnimatable/issues/248/events","html_url":"https://github.com/JakeLin/IBAnimatable/pull/248","id":165982700,"number":248,"title":"Animatable presentation controller","user":{"login":"tbaranes","id":1402212,"avatar_url":"https://avatars.githubusercontent.com/u/1402212?v=3","gravatar_id":"","url":"https://api.github.com/users/tbaranes","html_url":"https://github.com/tbaranes","followers_url":"https://api.github.com/users/tbaranes/followers","following_url":"https://api.github.com/users/tbaranes/following{/other_user}","gists_url":"https://api.github.com/users/tbaranes/gists{/gist_id}","starred_url":"https://api.github.com/users/tbaranes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tbaranes/subscriptions","organizations_url":"https://api.github.com/users/tbaranes/orgs","repos_url":"https://api.github.com/users/tbaranes/repos","events_url":"https://api.github.com/users/tbaranes/events{/privacy}","received_events_url":"https://api.github.com/users/tbaranes/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/JakeLin/IBAnimatable/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/JakeLin/IBAnimatable/milestones/16","html_url":"https://github.com/JakeLin/IBAnimatable/milestones/2.7","labels_url":"https://api.github.com/repos/JakeLin/IBAnimatable/milestones/16/labels","id":1891621,"number":16,"title":"2.7","description":null,"creator":{"login":"JakeLin","id":573856,"avatar_url":"https://avatars.githubusercontent.com/u/573856?v=3","gravatar_id":"","url":"https://api.github.com/users/JakeLin","html_url":"https://github.com/JakeLin","followers_url":"https://api.github.com/users/JakeLin/followers","following_url":"https://api.github.com/users/JakeLin/following{/other_user}","gists_url":"https://api.github.com/users/JakeLin/gists{/gist_id}","starred_url":"https://api.github.com/users/JakeLin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JakeLin/subscriptions","organizations_url":"https://api.github.com/users/JakeLin/orgs","repos_url":"https://api.github.com/users/JakeLin/repos","events_url":"https://api.github.com/users/JakeLin/events{/privacy}","received_events_url":"https://api.github.com/users/JakeLin/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":0,"state":"open","created_at":"2016-07-19T09:42:20Z","updated_at":"2016-07-19T09:42:20Z","due_on":null,"closed_at":null},"comments":5,"created_at":"2016-07-17T16:01:03Z","updated_at":"2016-07-25T23:21:07Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/JakeLin/IBAnimatable/pulls/248","html_url":"https://github.com/JakeLin/IBAnimatable/pull/248","diff_url":"https://github.com/JakeLin/IBAnimatable/pull/248.diff","patch_url":"https://github.com/JakeLin/IBAnimatable/pull/248.patch"},"body":"Related to #198, previous PR #247 (for the history)\r\nThis PR is the first step of custom presentation controller support in IBAnimatable. In the current state, the feature is ready to go since the main features are implemented.\r\n\r\n**New in this PR:**\r\n- Introducing `PresentationDesignable` which handle all the designable part of the `presentedVC`\r\n- Introducing `PresentationAnimatable` which inherits of `UIPresentationController` and will be in charge of managing the present / dismiss animations, dimming view... and all the setup around presentation\r\n- Introducing `AnimatablePresentatedViewController`, as the others, it just the `Animatable` type to present a controller\r\n- Introducing `PresentationModalSize` and `PresentationModalPosition` which are used to customise the modal size and position once presented\r\n- A section \"Presentation\" has been added to the project example in order have the different animation in demonstration. \r\n\r\n**Features supported:**\r\n- `AnimatablePresentatedViewController` presentation programatically or using segues\r\n- `AnimatablePresentatedViewController` customisations (programatically or in IB):\r\n  - `cornerRadius` (dimminView)\r\n  - `dismissOnTap`\r\n  - `backgroundColor`\r\n  - `opacity`\r\n  - `blurEffectStyle`\r\n  - `blurOpacity`\r\n  - `shadowColor`\r\n  - `shadowRadius`\r\n  - `shadowOpacity`\r\n  - `shadowOffset`\r\n-  6 present / dismiss animations\r\n  - `Flip`\r\n  - `CrossDissolve`\r\n  - `Cover(Top, Right, Bottom, Left)`\r\n  - `Invert`\r\n- Custom position:\r\n  -  `Center`\r\n  - `TopCenter`\r\n  - ` BottomCenter`\r\n  - `LeftCenter`\r\n  - `RightCenter`\r\n  - `CustomCenter(centerPoint: CGPoint)`\r\n  - `CustomOrigin(origin: CGPoint)`\r\n- Custom size (width and height are set separately)\r\n  - `Half`\r\n  - `Full`\r\n  - `Custom(size: Float)`\r\n\r\n**Missing:**\r\n- More options: `keyboard observer`, `UIKit Dynamics`,  `context support`... but we can add them progressively by adding new options.\r\n- More examples: currently showing only the transition, but it could be worth to have example playing with the dimming view customisation, as well as custom position / size modal\r\n- Documentation in CHANGELOG and README \r\n\r\n**Questions / though:**\r\n- Why `TransitionAnimatable` is an `Animatable` instead of `Designable`? (not really related with this PR, but just wondering)\r\n- The global naming can be improved for sure, if you have any suggestions... !\r\n- Discussion about how to differentiate `Presentation` and `Transition` code. Read #247 comments to have a full context\r\n\r\nI know that is a big PRs with a lot of changes, but I'm counting on you all to take a look at the code and give me some feedbacks 😄"},"comment":{"url":"https://api.github.com/repos/JakeLin/IBAnimatable/issues/comments/235116234","html_url":"https://github.com/JakeLin/IBAnimatable/pull/248#issuecomment-235116234","issue_url":"https://api.github.com/repos/JakeLin/IBAnimatable/issues/248","id":235116234,"user":{"login":"JakeLin","id":573856,"avatar_url":"https://avatars.githubusercontent.com/u/573856?v=3","gravatar_id":"","url":"https://api.github.com/users/JakeLin","html_url":"https://github.com/JakeLin","followers_url":"https://api.github.com/users/JakeLin/followers","following_url":"https://api.github.com/users/JakeLin/following{/other_user}","gists_url":"https://api.github.com/users/JakeLin/gists{/gist_id}","starred_url":"https://api.github.com/users/JakeLin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JakeLin/subscriptions","organizations_url":"https://api.github.com/users/JakeLin/orgs","repos_url":"https://api.github.com/users/JakeLin/repos","events_url":"https://api.github.com/users/JakeLin/events{/privacy}","received_events_url":"https://api.github.com/users/JakeLin/received_events","type":"User","site_admin":false},"created_at":"2016-07-25T23:21:06Z","updated_at":"2016-07-25T23:21:06Z","body":"@tbaranes Well, you have addressed all comments 👏  Yes, we are heading in the right direction. Agree with you on \"reusing code for both Presentation and Transition\". There is no duplicated code now. We can think about it how to do it once we have.\r\n\r\nBTW: `Modal Position`, `Modal Width` and `Modal Height' are not working for me, I will debug them and see.\r\n\r\nI will spend more time on this PR and may make more comments 😬"}}
{"actor":{"display_login":"JakeLin"}}