How to reference the default UIView to animate in Swift?
up vote
-1
down vote
favorite
I have 2 view controllers: "MapScreenVC" and "PullUpMenuVC"; When you tap a button on the "MapScreenVC", the "PullUpMenuVC" should appear, pulling up from the bottom. Them problem I am having is that in regards to the default UIView for the "PullUpMenuVC", any visual changes I make in storyboards do not show up.
That said, when I call my prepareBackgroundView() function, the view changes accordingly upon build.
How can I edit the view in storyboards but still animate the view in code? I feel like I have a misunderstanding of how views are referenced from the storyboard. Is the view that I am animating not the default view of the view controller, which is the same view that should be visually edited in the storyboard?
My "PullUpMenuVC" class:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
prepareBackgroundView()
}
func prepareBackgroundView()
{
view.backgroundColor = .white
view.tintColor = defaultTint
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
UIView.animate(withDuration: 0.35) { [weak self] in
let frame = self?.view.frame
let yComponent = UIScreen.main.bounds.height * 1
self?.view.frame = CGRect(0, yComponent, frame!.width, frame!.height)
}
This is a screenshot of my storyboard:

I should also point out that I have connected the "PullUpMenuVC" class to the view controller in my storyboard.
ios swift
add a comment |
up vote
-1
down vote
favorite
I have 2 view controllers: "MapScreenVC" and "PullUpMenuVC"; When you tap a button on the "MapScreenVC", the "PullUpMenuVC" should appear, pulling up from the bottom. Them problem I am having is that in regards to the default UIView for the "PullUpMenuVC", any visual changes I make in storyboards do not show up.
That said, when I call my prepareBackgroundView() function, the view changes accordingly upon build.
How can I edit the view in storyboards but still animate the view in code? I feel like I have a misunderstanding of how views are referenced from the storyboard. Is the view that I am animating not the default view of the view controller, which is the same view that should be visually edited in the storyboard?
My "PullUpMenuVC" class:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
prepareBackgroundView()
}
func prepareBackgroundView()
{
view.backgroundColor = .white
view.tintColor = defaultTint
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
UIView.animate(withDuration: 0.35) { [weak self] in
let frame = self?.view.frame
let yComponent = UIScreen.main.bounds.height * 1
self?.view.frame = CGRect(0, yComponent, frame!.width, frame!.height)
}
This is a screenshot of my storyboard:

I should also point out that I have connected the "PullUpMenuVC" class to the view controller in my storyboard.
ios swift
Offtopic: Notice that 1. the [weak self] block isn't needed and 2. If for some reason self is nil, the system will crash because you force unwrap frame.height/width.
– J. Doe
Nov 19 at 15:54
add a comment |
up vote
-1
down vote
favorite
up vote
-1
down vote
favorite
I have 2 view controllers: "MapScreenVC" and "PullUpMenuVC"; When you tap a button on the "MapScreenVC", the "PullUpMenuVC" should appear, pulling up from the bottom. Them problem I am having is that in regards to the default UIView for the "PullUpMenuVC", any visual changes I make in storyboards do not show up.
That said, when I call my prepareBackgroundView() function, the view changes accordingly upon build.
How can I edit the view in storyboards but still animate the view in code? I feel like I have a misunderstanding of how views are referenced from the storyboard. Is the view that I am animating not the default view of the view controller, which is the same view that should be visually edited in the storyboard?
My "PullUpMenuVC" class:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
prepareBackgroundView()
}
func prepareBackgroundView()
{
view.backgroundColor = .white
view.tintColor = defaultTint
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
UIView.animate(withDuration: 0.35) { [weak self] in
let frame = self?.view.frame
let yComponent = UIScreen.main.bounds.height * 1
self?.view.frame = CGRect(0, yComponent, frame!.width, frame!.height)
}
This is a screenshot of my storyboard:

I should also point out that I have connected the "PullUpMenuVC" class to the view controller in my storyboard.
ios swift
I have 2 view controllers: "MapScreenVC" and "PullUpMenuVC"; When you tap a button on the "MapScreenVC", the "PullUpMenuVC" should appear, pulling up from the bottom. Them problem I am having is that in regards to the default UIView for the "PullUpMenuVC", any visual changes I make in storyboards do not show up.
That said, when I call my prepareBackgroundView() function, the view changes accordingly upon build.
How can I edit the view in storyboards but still animate the view in code? I feel like I have a misunderstanding of how views are referenced from the storyboard. Is the view that I am animating not the default view of the view controller, which is the same view that should be visually edited in the storyboard?
My "PullUpMenuVC" class:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
prepareBackgroundView()
}
func prepareBackgroundView()
{
view.backgroundColor = .white
view.tintColor = defaultTint
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
UIView.animate(withDuration: 0.35) { [weak self] in
let frame = self?.view.frame
let yComponent = UIScreen.main.bounds.height * 1
self?.view.frame = CGRect(0, yComponent, frame!.width, frame!.height)
}
This is a screenshot of my storyboard:

I should also point out that I have connected the "PullUpMenuVC" class to the view controller in my storyboard.
ios swift
ios swift
edited Nov 19 at 18:49
Tobias Wilfert
4171417
4171417
asked Nov 19 at 15:50
dodthan
1
1
Offtopic: Notice that 1. the [weak self] block isn't needed and 2. If for some reason self is nil, the system will crash because you force unwrap frame.height/width.
– J. Doe
Nov 19 at 15:54
add a comment |
Offtopic: Notice that 1. the [weak self] block isn't needed and 2. If for some reason self is nil, the system will crash because you force unwrap frame.height/width.
– J. Doe
Nov 19 at 15:54
Offtopic: Notice that 1. the [weak self] block isn't needed and 2. If for some reason self is nil, the system will crash because you force unwrap frame.height/width.
– J. Doe
Nov 19 at 15:54
Offtopic: Notice that 1. the [weak self] block isn't needed and 2. If for some reason self is nil, the system will crash because you force unwrap frame.height/width.
– J. Doe
Nov 19 at 15:54
add a comment |
1 Answer
1
active
oldest
votes
up vote
1
down vote
I think you have misunderstood how this is usually done in iOS and Xcode. From your description above I understand you want to do something that looks like a Modal View Presentation.
If you use the default modal view presentation iOS offers for doing that transition between ViewController, you will not have to implement the animations yourself. In fact you can do the whole think in the Storyboard by just hooking up the segues.
I am attaching some reading material that might help you.
https://developer.apple.com/library/archive/featuredarticles/ViewControllerPGforiPhoneOS/PresentingaViewController.html
https://www.raywenderlich.com/462-storyboards-tutorial-for-ios-part-2
Custom transition if you need it.
https://www.raywenderlich.com/359-ios-animation-tutorial-custom-view-controller-presentation-transitions
Hope the above help.
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
I think you have misunderstood how this is usually done in iOS and Xcode. From your description above I understand you want to do something that looks like a Modal View Presentation.
If you use the default modal view presentation iOS offers for doing that transition between ViewController, you will not have to implement the animations yourself. In fact you can do the whole think in the Storyboard by just hooking up the segues.
I am attaching some reading material that might help you.
https://developer.apple.com/library/archive/featuredarticles/ViewControllerPGforiPhoneOS/PresentingaViewController.html
https://www.raywenderlich.com/462-storyboards-tutorial-for-ios-part-2
Custom transition if you need it.
https://www.raywenderlich.com/359-ios-animation-tutorial-custom-view-controller-presentation-transitions
Hope the above help.
add a comment |
up vote
1
down vote
I think you have misunderstood how this is usually done in iOS and Xcode. From your description above I understand you want to do something that looks like a Modal View Presentation.
If you use the default modal view presentation iOS offers for doing that transition between ViewController, you will not have to implement the animations yourself. In fact you can do the whole think in the Storyboard by just hooking up the segues.
I am attaching some reading material that might help you.
https://developer.apple.com/library/archive/featuredarticles/ViewControllerPGforiPhoneOS/PresentingaViewController.html
https://www.raywenderlich.com/462-storyboards-tutorial-for-ios-part-2
Custom transition if you need it.
https://www.raywenderlich.com/359-ios-animation-tutorial-custom-view-controller-presentation-transitions
Hope the above help.
add a comment |
up vote
1
down vote
up vote
1
down vote
I think you have misunderstood how this is usually done in iOS and Xcode. From your description above I understand you want to do something that looks like a Modal View Presentation.
If you use the default modal view presentation iOS offers for doing that transition between ViewController, you will not have to implement the animations yourself. In fact you can do the whole think in the Storyboard by just hooking up the segues.
I am attaching some reading material that might help you.
https://developer.apple.com/library/archive/featuredarticles/ViewControllerPGforiPhoneOS/PresentingaViewController.html
https://www.raywenderlich.com/462-storyboards-tutorial-for-ios-part-2
Custom transition if you need it.
https://www.raywenderlich.com/359-ios-animation-tutorial-custom-view-controller-presentation-transitions
Hope the above help.
I think you have misunderstood how this is usually done in iOS and Xcode. From your description above I understand you want to do something that looks like a Modal View Presentation.
If you use the default modal view presentation iOS offers for doing that transition between ViewController, you will not have to implement the animations yourself. In fact you can do the whole think in the Storyboard by just hooking up the segues.
I am attaching some reading material that might help you.
https://developer.apple.com/library/archive/featuredarticles/ViewControllerPGforiPhoneOS/PresentingaViewController.html
https://www.raywenderlich.com/462-storyboards-tutorial-for-ios-part-2
Custom transition if you need it.
https://www.raywenderlich.com/359-ios-animation-tutorial-custom-view-controller-presentation-transitions
Hope the above help.
answered Nov 19 at 16:48
George Bafaloukas
66247
66247
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53378247%2fhow-to-reference-the-default-uiview-to-animate-in-swift%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Offtopic: Notice that 1. the [weak self] block isn't needed and 2. If for some reason self is nil, the system will crash because you force unwrap frame.height/width.
– J. Doe
Nov 19 at 15:54