PTEventView
  • February 11, 2024

An Event View based on Apple’s Event Detail View. Written in Swift 3. Supports ARC, Autolayout and editing via StoryBoard.

Installation


CocoaPods

PTEventView is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod ‘PTEventView’

Manual

You can drag and drop the Files from here into your projects directly.

Setup


Adding PTEventView

fileprivate weak var myCalenderView: PTEventView!

// In loadView or viewDidLoad
let ptEventView = Bundle.main.loadNibNamed(“PTEventView”, owner: nil, options: nil)![0] as? PTEventView
ptEventView?.delegate = self
ptEventView?.setup(frame: myCalenderView.frame)
self.view.addSubview(ptEventView!)

Data Model

PTEventView supports both 12 hour and 24 hour format as data model. The input can be received from the API or Database(Core Data, Realm, SQLite) in the form of Array of Event Object.
The Event Object should have:

  • Start Time (12 hour or 24 hour)
  • End Time (12 hour or 24 hour)
  • Name of the Event
    Note: Incase of 12 hour, suffix time with AM or PM.

Example

let dataModel12hour = [[“10AM”,”11AM”,”Swift Meetup ’17”],[“12AM”,”3PM”,”WWDC KickOff”]]
let dataModel24hour = [[“10″,”11″,”Swift Meetup ’17”],[“12″,”15″,”WWDC KickOff”]]

Use Bool to switch between Time Formats

ptEventView?.is24HourFormat = true

for event in dataModel12hour{

let eventModel = PTEventViewModel()

eventModel.startTime = event[0]
eventModel.endTime = event[1]
eventModel.eventName = event[2]

ptEventView?.EventViewdataModel.append(eventModel)
}

StoryBoard


Supports IBDesignable to alter Border WidthCorner Radius and Border Color

Customization

You can customize the view parameters for designing your own view:

borderColor – Border Color Default is Black

borderWidth – Border Width Default is 1.0

cornerRadius – Corner Radius Default is 6.0

eventColor – Event Color Default is as given in Demo Gif

eventTextColor – Event Text Color Default is white. Try to make it contrasting with eventColor

ToDo[s]


  •  Add support for PM and AM via 24 hour format
  •  Orientation Support. Currently supports UI for Portrait.
  •  Add delegation for callbacks
  •  Implement AutoLayout for CalenderView
  •  Support Events on the same day
  •  Add IBInspectable for Row Color of Event

Requirement


  • iOS 8.0+ (CocoaPods with Swift support will only work on iOS 8.0+. Alternatively, you will have to import library manually to your project)
  • Xcode 8.0+, Swift 3.0+

GitHub


View Github

#autolayout #calandar apple- #calendar #calendar-component #calendar-view #calendar-widget calendar #calendars #calendarview #calender #cocoa-touch #cocoapod #cocoapods #event #events #eventview #ibdesignable #pteventview #storyboard #swift3
YOU MIGHT ALSO LIKE...
CameraBackground

Features Both front and back camera supported. Flash modes: auto, on, off. Countdown timer. Tap to focus. Pinch to zoom. Usage  

DKCamera

Description A light weight & simple & easy camera for iOS by Swift. It uses CoreMotion framework to detect device orientation, so ...

HorizonSDK-iOS

Horizon SDK is a state of the art real-time video recording / photo shooting iOS library. Some of the features ...

LLSimpleCamera

LLSimpleCamera: A simple customizable camera - video recorder control LLSimpleCamera is a library for creating a customized camera - video ...

RSBarcodes_Swift

RSBarcodes allows you to read 1D and 2D barcodes using the metadata scanning capabilities introduced with iOS 7 and generate ...