Skip to content

Instantly share code, notes, and snippets.

View Kievkao's full-sized avatar

Andrii Kravchenko Kievkao

View GitHub Profile
@Kievkao
Kievkao / HideEmptyCells.swift
Created February 11, 2016 10:41
Hide empty cells from UITableView
self.tableView.tableFooterView = UIView(frame: CGRect.zero)
@Kievkao
Kievkao / ProxyExample.m
Created February 28, 2016 20:52
Proxying in Objective-C
@interface ChildClass : NSObject
- (NSInteger)read;
@end
// *.h
@interface MyDecorator : NSObject
+ (instancetype)decoratedInstanceOf:(ChildClass *)instance;
@end
// *.m
- (NSArray *)arrayFromObjectsCollectedWithBlock:(id(^)(id object))block
{
__block NSMutableArray *collection = [NSMutableArray arrayWithCapacity:[self count]];
[self enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
[collection addObject:block(obj)];
}];
return collection;
}
@Kievkao
Kievkao / NewSwiftRange.swift
Created April 2, 2016 13:56
New Swift Range
struct APTestCase {
let studentsNumber: Int!
let cancelTreshold: Int!
}
func parsedRowTestCase(stringInput: String!) -> APTestCase {
let spaceStartIndex = stringInput.rangeOfString(" ")!.startIndex
let studentsNumber = Int(stringInput.substringWithRange(stringInput.startIndex..<spaceStartIndex))
let cancelTreshold = Int(stringInput.substringWithRange(spaceStartIndex.advancedBy(1)..<stringInput.endIndex))
@Kievkao
Kievkao / CenterConstraints.swift
Last active July 17, 2016 07:31
CenterConstraints
let xConstraint = NSLayoutConstraint(item: activity, attribute: .CenterX, relatedBy: .Equal, toItem: view, attribute: .CenterX, multiplier: 1.0, constant: 0)
let yConstraint = NSLayoutConstraint(item: activity, attribute: .CenterY, relatedBy: .Equal, toItem: view, attribute: .CenterY, multiplier: 1.0, constant: 0)
let widthConstraint = NSLayoutConstraint(item: activity, attribute: .Width, relatedBy: .Equal, toItem: nil, attribute: .Width, multiplier: 1.0, constant: 100)
let heightConstraint = NSLayoutConstraint(item: activity, attribute: .Height, relatedBy: .Equal, toItem: nil, attribute: .Height, multiplier: 1.0, constant: 100)
@Kievkao
Kievkao / LayerRotation.swift
Created July 17, 2016 07:30
LayerRotation
let rotation = CATransform3DMakeRotation(CGFloat(45.0 * M_PI / 180.0), 0, 0, 1)
leftSquare.transform = CATransform3DTranslate(rotation, 0, 0, 1)
@Kievkao
Kievkao / CenterVFL.m
Last active November 2, 2016 20:17
Center view using VFL
NSArray *horizontalConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"V:[superview]-(<=1)-[label]" options:NSLayoutFormatAlignAllCenterX metrics:nil views:@{@"superview": self, @"label" : self.timeLabel}];
NSArray *verticalConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"H:[superview]-(<=1)-[label]" options: NSLayoutFormatAlignAllCenterY metrics: nil views:@{@"superview": self, @"label" : self.timeLabel}];
@Kievkao
Kievkao / PinToSuperview.m
Created November 6, 2016 09:02
Pin view to superview using VFL
[view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-0-[stackView]-0-|" options:NSLayoutFormatDirectionLeadingToTrailing metrics:nil views:NSDictionaryOfVariableBindings(stackView)]];
[view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-0-[stackView]-0-|" options:NSLayoutFormatDirectionLeadingToTrailing metrics:nil views:NSDictionaryOfVariableBindings(stackView)]];
@Kievkao
Kievkao / Swift.gitignore
Created November 8, 2016 17:12
Swift gitignore
# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
## Build generated
build/
DerivedData/
## Various settings
*.pbxuser
@Kievkao
Kievkao / TransportSecurity.plist
Created November 19, 2016 11:13
TransportSecurity enabling
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>