Hey guys. I am trying to understand the way that Coordinator works. I am cathing myself in building my own the way I shall not (created a function that passes a ViewController which, as I understand, defeats the purpose of a Coordinator.
Let us say I have 3 Diffrent ViewControllers that may be initialised from HomeVC depending on a Button. My way of thinking tells me to create something like this:
Swift
class MainCoordinator: Coordinator {
var navigationController: UINavigationController?
func pushVCWithUser(viewController: UIViewController & Coordinating, isNavigationHidden: Bool) {
var pushedVC: UIViewController & Coordinating = viewController
pushedVC.coordinator = self
navigationController?.setNavigationBarHidden(isNavigationHidden, animated: true)
navigationController?.pushViewController(pushedVC, animated: true)
}
}
and just to initialize it in my VC. But it's not the way it supposed to be done I assume. Or is it actually?
Another way:
I have seen some tutorials when a guy used Enum for cases and created a separate function for each case. But then I don't know how would I pass some parameters while initializing another ViewController.
Or shall I rather create a function like the one above but for each individual View Controller and pass the parameter (let us say that VCs are initialized with the number: Int) in a function signature?
Many thanks for any any help!
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hey guys. I've created that function to animate my button:
private func animateButtonView(_ viewToAnimate: UIView) {
UIView.animate(withDuration: 0.2, animations: {viewToAnimate.alpha = 0}) { [weak self] (true) in
guard let self = self else { return }
switch true {
case true:
DispatchQueue.main.async { self.addToFavoritesButton.setImage(SFSymbolsAsImg.checkmark, for: .normal) }
UIView.animate(withDuration: 0.2, animations: {viewToAnimate.alpha = 1} )
case false:
return
}
}
}
But the problem is that animation does not finish. Alpha stays at around probably 85% from what I can see. Any help explaining what is wrong with this code will be appreciated! Many thanks.
Hey guys. I am trying to add UITableView do the View of my VC. On top of the VC I added to UIViews with the custom elements and they work just fine. However. When I am trying to add UITableView, it pushes UIViews from above out of the screen.
Syntax error - https://developer.apple.com/forums/content/attachment/04148dec-e53f-4473-b647-e317c8709e6e
noteTableView = UITableView(frame: .zero)
view.addSubview(noteTableView)
noteTableView.layer.borderColor = UIColor.systemRed.cgColor
noteTableView.layer.borderWidth = 5
NSLayoutConstraint.activate([
noteTableView.topAnchor.constraint(equalTo: addNoteView.bottomAnchor, constant: 0),
noteTableView.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 0),
noteTableView.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: 0),
noteTableView.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: 0),
])
}
This is how I configured it. addNoteView is the UIView above. What am I doing wrong?
Many thanks for help
Hey guys. I am having a little one with the ARKit. Not gonna lie that things is dope. Anyway,
These are CGFloat values for SCNSphere
ballNode.position = SCNVector3(0.5, -0.3, -1)
These are for SCNText
labelNode.position = SCNVector3(-50, 0, -100)
To place the Sphere where I wanted to I had to use, I Suppose, meters.
However for placing the Text I used centimetres. Why? Would anyone be that helpful and redirected me to some documentation about this as I did not find anything? Many Thanks