Classes
The following classes are available globally.
-
Table view controller within the
See moreLibraryDetailViewController
that presents the general information of a plant. The complexity of this view controller is mainly due to the system for editing the plant’s atteributes.Declaration
Swift
class GeneralPlantInformationTableViewController : UITableViewController
-
Undocumented
See moreDeclaration
Swift
class ImageCollectionViewController : UICollectionViewController
-
A collection view that presents images in a horizontal paging view. Images can be edited (cropped).
See moreDeclaration
Swift
class ImagePagingCollectionViewController : UICollectionViewController
-
Undocumented
See moreDeclaration
Swift
class LibraryDetailViewController : UIViewController, UIScrollViewDelegate
-
A table view with links to additional online sources.
Important
This is not complete - a skeletonUITableView
is provided for now.Declaration
Swift
class LinksTableViewController : UITableViewController
-
The controller for picking images from the user’s library.
See moreDeclaration
Swift
class PlantAssetsPickerViewController : AssetsPickerViewController, AssetsPickerViewControllerDelegate
-
The view controller for the main table view of the Library collection. Each row is a different plant that can be selected to see detailed information. Swiping to delete is enabled. A new plant can be added through a navigation bar button (
See more+
).Declaration
Swift
class PlantLibraryTableViewController : UITableViewController
-
Undocumented
See moreDeclaration
Swift
class EditPlantLevelManager : NSObject
-
A manager of the fundamental plant objects for the app. It loads, saves, and adds plants to the array
See moreplants: [Plant]
. This manager should be created at start-up and passed to various view controllers.Declaration
Swift
class PlantsManager
-
Undocumented
See moreDeclaration
Swift
@UIApplicationMain class AppDelegate : UIResponder, UIApplicationDelegate
-
The custom cell for editing the information in the general information table view. It contains a segmented controller that can have multiple selections.
See moreDeclaration
Swift
class EditingTableViewCell : UITableViewCell
-
Table view cells for the general information of a plant.
See moreDeclaration
Swift
class GeneralInformtationTableViewCell : UITableViewCell
-
A custom cell for the collection view in
See moreImageCollectionViewController
Declaration
Swift
class ImageCollectionViewCell : UICollectionViewCell
-
A custom cell for the
ImagePagingCollectionViewController
. It present an image in full screen and the background turns black/white when the image is tapped. The user can pinch or double-tap to zoom and then pan around within the zoomed-in view.Todo
for dark mode, always keep the background black - just hide the nav barDeclaration
Swift
class ImagePagingViewCell : UICollectionViewCell
-
Undocumented
See moreDeclaration
Swift
class LibraryDetailView : UIView
-
A custom cell for a plant in the library table view.
Todo
add aconfigureCell(forPlant:)
function.Declaration
Swift
class PlantLibraryTableViewCell : UITableViewCell
-
A custom zoom animation for the transition from an
ImageCollectionViewController
to anImagePagingCollectionViewController
when a cell is tapped. It also handles the retraction transition. It was built to mimic the transition used in the native iPhone Photos app.This custom animation was documented and explained in complete detail in the links provided below.
See moreDeclaration
Swift
class ZoomAnimator : NSObject
-
A custom interactive dismissal zoom transition for the transition from an
ImagePagingCollectionViewController
to anImageCollectionViewController
when the cell recognizes a pan gesture. It was built to mimic the transition used in the native iPhone Photos app.This custom animation was documented and explained in complete detail in the links provided below.
See moreDeclaration
Swift
class ZoomDismissalInteractionController : NSObject
-
A custom zoom transition for the transition from an
ImageCollectionViewController
to anImagePagingCollectionViewController
when a cell is tapped. It also handles the retraction transition. It was built to mimic the transition used in the native iPhone Photos app.This custom animation was documented and explained in complete detail in the links provided below.
See moreDeclaration
Swift
class ZoomTransitionController : NSObject