Skip to content

Instantly share code, notes, and snippets.

View gmoraleda's full-sized avatar

Guillermo Moraleda gmoraleda

View GitHub Profile
let myCollectionView: UICollectionView?
func getStartOffset(for event: CalendarEvent) -> CGFloat {
return gridView.getOffsetForDate(date: event.startDate)
}
func getHeight(for event: CalendarEvent) -> CGFloat {
let height = gridView.getOffsetForDate(date: event.endDate) - gridView.getOffsetForDate(date: event.startDate)
return height > Sizes.minEventHeight ? height : Sizes.minEventHeight
}
func getOffsetForDate(date: Date) -> CGFloat {
// dayViewHeight being the height of the view that containts the hour label and the line separator
let components = Calendar.current.dateComponents([.minute, .hour], from: date)
let hourOffset = CGFloat(components.hour ?? 0) * (dayViewHeight + Sizes.gridLineSeparation)
let minuteOffset = ceilToPixelsAccuracy(CGFloat(components.minute ?? 0) / 60 * (dayViewHeight + Sizes.gridLineSeparation))
return hourOffset + minuteOffset + ceilToPixelsAccuracy(dayViewHeight / 2)
}
// Function to ceil according to the scaling factor
[...]
// Add observer in layoutSubviews()
pictureImageView.observe(\UIImageView.frame, options: [.new]) { [weak self] (_, _) in
self?.updateTextViewFrame()
}
[...]
private func setupStrings(for speaker: Speaker) {
titleLabel.text = speaker.name
positionLabel.text = speaker.position
descriptionTextView.text = speaker.description
updateTextViewFrame()
}
private func updateTextViewFrame() {
contentView.layoutIfNeeded()
let keyboard = KeyboardObserver()
override func viewDidLoad() {
super.viewDidLoad()
keyboard.observe { [weak self] (event) -> Void in
guard let self = self else { return }
switch event.type {
case .willShow, .willHide, .willChangeFrame:
// React to the keyboard and adapt your UI
// MARK: - Keyboard Insets
extension UIViewController {
internal func updateInsets(for event: KeyboardEvent, scrollView: UIScrollView?) {
guard let scrollView = scrollView else { return }
let newKeyboardFrame = event.keyboardFrameEnd
let duration = event.duration
let newKeyboardHeight = newKeyboardFrame.origin.y < UIScreen.main.bounds.height ? newKeyboardFrame.height : Sizes.zero
"${SRCROOT}/Scripts/IconVersioning.sh"
#!/bin/bash
#
# Helpers
#
function installImageMagick() {
brew install imagemagick ghostscript
}
#
if [ "${CONFIGURATION}" != "ReleaseProduction" ]; then
IFS=$'\n'
git checkout -- `find "${SRCROOT}/${PRODUCT_NAME}" -name AppIcon.appiconset -type d`
fi