{"id":21846717,"url":"https://github.com/iosdec/iosimple","last_synced_at":"2025-10-14T01:11:14.551Z","repository":{"id":143618411,"uuid":"148623388","full_name":"iosdec/iOSimple","owner":"iosdec","description":"A collection of extensions, objects and helpers for iOS (Objective-C)","archived":false,"fork":false,"pushed_at":"2019-01-29T12:52:17.000Z","size":73,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-25T05:07:42.926Z","etag":null,"topics":["objective-c","uinavigationcontroller","uiview","uiviewcontroller"],"latest_commit_sha":null,"homepage":"","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iosdec.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-09-13T10:42:35.000Z","updated_at":"2019-01-29T12:52:19.000Z","dependencies_parsed_at":null,"dependency_job_id":"fef846ba-18a6-4c5d-9a9d-6d63821e8c60","html_url":"https://github.com/iosdec/iOSimple","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/iosdec/iOSimple","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iosdec%2FiOSimple","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iosdec%2FiOSimple/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iosdec%2FiOSimple/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iosdec%2FiOSimple/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iosdec","download_url":"https://codeload.github.com/iosdec/iOSimple/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iosdec%2FiOSimple/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279017456,"owners_count":26086081,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["objective-c","uinavigationcontroller","uiview","uiviewcontroller"],"created_at":"2024-11-27T23:15:01.673Z","updated_at":"2025-10-14T01:11:14.520Z","avatar_url":"https://github.com/iosdec.png","language":"Objective-C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# iOSimple\n\n## Installation:\nInstall by adding the **iOSimple** folder into your project\n\n## Usage:\n\nImport **\"iOSimple.h\"** into your project where needed.\n\n## Extensions\n\nLet's say i'm coding from a UIViewController class.. I could import the iOSimple+UIViewController.h class and use [self \"classMethod\"] - because \"self\" is an extension of a UIViewController.\n\n- **iOSimple+UIButton**\n*Easily add a growing animation and action to a custom UIButton*\n\n- **iOSimple+UIColor**\n*Convert HEX text into a UIColor object. Also a function for colorWithRed... without having to supply the (x/255) everytime - just use the float value of the colour.*\n\n- **iOSimple+UIMapView**\n*Search and zoom, geocode an address string into a CLLocation, remove all annotations, zoom to custom location, zoom to current location, add annotations and more.*\n\n- **iOSimple+UINavigationController**\n*For custom UINavigationController pops and pushes. Currently only supports flip and fade.. but feel free to add more and lookout for upcoming ones to this class.*\n\n- **iOSimple+UIScrollView**\n*Scroll to the bottom, get the current page, set a sticky header (a UIView / UIImageView that sticks to the top and stretches like it's being pulled - Twitter is an example). Also includes a function for easily adding a UIRefreshControl action.*\n\n- **iOSimple+UITextField**\nSet a placeholder colour, easily add padding to a UITextField.\n\n- **iOSimple+UIViewController**\n*Handy for adding NSNotificationCenter handlers without having to call \"[[NSNotificationCenter defaultCenter] addObser....]\" .. now just call \"[self addHandlerWithName:name selector:selector]\". Also support for posting notifications and removing them all.*\n\n- **iOSimple+UIView**\n*Easily set auto resizing masks. I often use \"[myView setResizingMask:MaskTypeFull]\" if i want to make a UIView object fully stretchable and adjusts to all corners, etc. Another great feature of this class... is adding a \"magic button\".\u003cbr\u003e\nInstead of creating a hidden UIButton object, setting up it's targets.. adding the functions.. just call [myView addMagicButtonWithAction:SEL sender:sender] - this will add a UIButton that will automatically stretch, and grow / shrink when selected. SO handy.\u003cbr\u003e\nFind a UIView object with an identifier (set the restoration id in the storyboard file).*\n\n\u003chr\u003e\n\nThese classes can be initialised as objects, some of them also have class methods to simplify things.\n\n-  **iOSAlert**\n*UIAlertController simplification - easily present alerts, add buttons to alerts. etc.*\n\n- **CGExt / CGeometry**\n*CGRect extensions for easy resizing, positioning and calculations*\n\n- **Finder**\n*Easily find the highest ViewController, or a UINavigationController / UIViewController of a UIView object. Comes in handy when using subclasses of UIView objects.*\n\n- **Haptic Helper (YANIK)**\n*Generate haptic feedback for supported devices - supports: selection, impact light, impact medium, impact heavy, notification success, notification warning, notification error.*\n\n- **iOSReachability**\n*Check if internet connection is reachable.*\n\n- **Keyboard Helper**\n*Useful for detecting the keyboard size of any device - instead of using notifications throughout subclasses.. just use 1 and optionally store the keyboard size to use globally.. without calling it over and over again.*\n\n- **Location Manager**\n*Handy for fetching a users current location, converting locations to CLPlacemarks (where you can extract information on the country, city, street, etc), also supports converting an NSString address to a CLPlacemark, and getting the distance between 2 locations.*\n\n- **Push Handle**\n*Handles registering the device for remote push notifications (APNS) - also with optional completion handler, and delegate methods for when a notification is presented, and tapped.*\n\n- **Share Handler**\n*Presents a UIActivityViewController with a given NSArray of objects (NSURL, NSString, UIImage, etc). Comes in handy when somebody taps a share button.*\n\n- **Growing Text View**\n*Basically what it says in the title. This comes with a .xib file that you can customise (remember to update the height in the .m file). Usefull for having a UITextView that could be dropped in a \"new message\" screen where a user will be displayed 1 line of text, then when they start typing.. it expands vertically.*\n\n- **TouchID**\n*Check whether a device supports TouchID, and includes a method to authenticate with TouchID - with completion handlers error / success / invalid.*\n\n- **Validator**\n*Scan for arrays, strings, whatever inside of dictionaries NSDictionary's/NSArray's. This checks to see if they're not NULL or checks the lengths (if it's a string) or checks the array count (if it's an array or a dictionary - then it'll check the dictionary key count). Also includes functions for converting an NSDate into a string (with optional extra's), and validating an NSString to an NSDate.*\n\n\u003chr\u003e\n\n- **Drop Down View**\n*UIView subclass - click on this and it will present a list of dropdown options that are customisable in .xib format.*\n\n\u003chr\u003e\n\n## Credits\n\u003ca href=\"https://github.com/iosdec\"\u003eDeclan Land\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiosdec%2Fiosimple","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiosdec%2Fiosimple","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiosdec%2Fiosimple/lists"}