motion-floating-action-button 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: f10a7364a21e88507be36da30afc0a2ff0699e87
4
+ data.tar.gz: 10d4dea6b3e04d68a6348fa00f5fcceae67079bc
5
+ SHA512:
6
+ metadata.gz: 777f2821b5e6556a03cc3eeea6d983725e41ad6bdf90c06acf8f899fdfa52d89fafb7b75fdb7072e53fe53b398d278a82b23472a4dd46445286835989bd39687
7
+ data.tar.gz: 3a89107ed2055aeb65d4ffcc5702c4da95939a4f67710e9bd516803c4907410c248bc57d437efa30a07c46ca5f31494e5c38be25371019da077611d329af9c95
data/README.md ADDED
@@ -0,0 +1,54 @@
1
+ Motion-Swipe for RubyMotion
2
+ ====================
3
+ ![alt tag](http://imgur.com/4bYw12e.gif)
4
+
5
+ Trying to add a Tinder-like swipe gem for RubyMotion. Not really production ready but useable. PRs for fixes, refactors and features accepted! This is also my first gem - advice/help is welcome.
6
+
7
+ This is a wrapper around Richard Kim's TinderSimpleSwipeCards written in obj-c. He does an excellent job detailing how it all works, so that you customize it easily. Some of that got erased when I was making this, so see his source: https://github.com/cwRichardKim/TinderSimpleSwipeCards
8
+
9
+ __create a draggable view background__
10
+ ``` ruby
11
+ @draggable = MotionSwipe.build({
12
+ frame: CGRectMake(0, 0, self.view.frame.width, self.view.frame.height),
13
+ delegate: self # Needed if you want to call method of a class with your button
14
+ })
15
+ ```
16
+
17
+ __adjust the draggable view's height and width__
18
+ ``` ruby
19
+ @draggable.setCardWithHeight(@height, withWidth: width)
20
+ ```
21
+
22
+ __create a new draggable view, and add it to the draggable view background__
23
+ ``` ruby
24
+ new_card = @draggable.createDraggableView
25
+ @draggable.addCard(new_card)
26
+ ```
27
+
28
+ __now just append views, buttons, or whatever to that draggable view__
29
+ ``` ruby
30
+ # you can assign an id to the card for identification
31
+ new_card.cardId = card_id
32
+ ```
33
+
34
+ __make sure to load the cards you added into the draggable view background__
35
+ ``` ruby
36
+ # this method returns the number of cards
37
+ count = @draggable.loadCards()
38
+ ```
39
+
40
+ __methods are available to swipe cards left or right without a gesture__
41
+ ``` ruby
42
+ @draggable.swipeRight()
43
+ @draggable.swipeLeft()
44
+ ```
45
+
46
+ __NSUserDefaults are used to track the current card, previously swiped card, and previous swipe direction__
47
+ ```
48
+ @defaults = NSUserDefaults.standardUserDefaults
49
+ @defaults["cardCurrent"]
50
+ @defaults["cardSwiped"]
51
+ @defaults["cardSwipedDirection"]
52
+ ```
53
+
54
+
@@ -0,0 +1,18 @@
1
+ module MotionFloatingActionButton
2
+
3
+ module_function
4
+
5
+ def build(args)
6
+
7
+ @float_frame = args[:float_frame] || CGRectMake(0, 0, device.width, device.height)
8
+ # @normal = args[:normal]
9
+
10
+ addButton = VCFloatingActionButton.alloc.initWithFrame(@float_frame, normalImage: UIImage.imageNamed('icon-29'), andPressedImage: UIImage.imageNamed('icon-29'), withScrollview: UITableView.new)
11
+
12
+ # addButton = [[VCFloatingActionButton alloc]initWithFrame:floatFrame normalImage:[UIImage imageNamed:@"plus"] andPressedImage:[UIImage imageNamed:@"cross"] withScrollview:_dummyTable];
13
+
14
+
15
+ addButton
16
+
17
+ end
18
+ end
@@ -0,0 +1,12 @@
1
+ unless defined?(Motion::Project::Config)
2
+ raise "This file must be required within a RubyMotion project Rakefile."
3
+ end
4
+
5
+ Motion::Project::App.setup do |app|
6
+ Dir.glob(File.join(File.dirname(__FILE__), 'motion-floating-action-button/*.rb')).each do |file|
7
+ app.files.unshift(file)
8
+ end
9
+
10
+ app.vendor_project(File.expand_path(File.join(File.dirname(__FILE__), '../vendor/motion-floating-action-button')), :static, cflags: "-fobjc-arc")
11
+
12
+ end
@@ -0,0 +1,43 @@
1
+ //
2
+ // VCFloatingActionButton.h
3
+ // starttrial
4
+ //
5
+ // Created by Giridhar on 25/03/15.
6
+ // Copyright (c) 2015 Giridhar. All rights reserved.
7
+ //
8
+
9
+ #import <UIKit/UIKit.h>
10
+
11
+ @protocol floatMenuDelegate <NSObject>
12
+
13
+ @optional
14
+ -(void) didSelectMenuOptionAtIndex:(NSInteger)row;
15
+ @end
16
+
17
+
18
+ @interface VCFloatingActionButton : UIView <UITableViewDataSource,UITableViewDelegate,UIScrollViewDelegate>
19
+
20
+ @property NSArray *imageArray,*labelArray;
21
+ @property UITableView *menuTable;
22
+ @property UIView *buttonView;
23
+ @property id<floatMenuDelegate> delegate;
24
+
25
+ @property (nonatomic) BOOL hideWhileScrolling;
26
+
27
+
28
+ @property (strong,nonatomic) UIView *bgView;
29
+ @property (strong,nonatomic) UIScrollView *bgScroller;
30
+ @property (strong,nonatomic) UIImageView *normalImageView,*pressedImageView;
31
+ @property (strong,nonatomic) UIWindow *mainWindow;
32
+ @property (strong,nonatomic) UIImage *pressedImage, *normalImage;
33
+ @property (strong,nonatomic) NSDictionary *menuItemSet;
34
+
35
+
36
+ @property BOOL isMenuVisible;
37
+ @property UIView *windowView;
38
+
39
+ -(id)initWithFrame:(CGRect)frame normalImage:(UIImage*)passiveImage andPressedImage:(UIImage*)activeImage withScrollview:(UIScrollView*)scrView;
40
+ //-(void) setupButton;
41
+
42
+
43
+ @end
@@ -0,0 +1,365 @@
1
+ //
2
+ // VCFloatingActionButton.m
3
+ // starttrial
4
+ //
5
+ // Created by Giridhar on 25/03/15.
6
+ // Copyright (c) 2015 Giridhar. All rights reserved.
7
+ //
8
+
9
+ #import "VCFloatingActionButton.h"
10
+ #import "floatTableViewCell.h"
11
+
12
+ #define SCREEN_WIDTH [UIScreen mainScreen].bounds.size.width
13
+ #define SCREEN_HEIGHT [UIScreen mainScreen].bounds.size.height
14
+
15
+ CGFloat animationTime = 0.55;
16
+ CGFloat rowHeight = 60.f;
17
+ NSInteger noOfRows = 0;
18
+ NSInteger tappedRow;
19
+ CGFloat previousOffset;
20
+ CGFloat buttonToScreenHeight;
21
+ @implementation VCFloatingActionButton
22
+
23
+ @synthesize windowView;
24
+ //@synthesize hideWhileScrolling;
25
+ @synthesize delegate;
26
+
27
+ @synthesize bgScroller;
28
+
29
+ -(id)initWithFrame:(CGRect)frame normalImage:(UIImage*)passiveImage andPressedImage:(UIImage*)activeImage withScrollview:(UIScrollView*)scrView
30
+ {
31
+ self = [super initWithFrame:frame];
32
+ if (self)
33
+ {
34
+ windowView = [[UIView alloc]initWithFrame:[UIScreen mainScreen].bounds];
35
+ _mainWindow = [UIApplication sharedApplication].keyWindow;
36
+ _buttonView = [[UIView alloc]initWithFrame:frame];
37
+ _buttonView.backgroundColor = [UIColor clearColor];
38
+ _buttonView.userInteractionEnabled = YES;
39
+
40
+ buttonToScreenHeight = SCREEN_HEIGHT - CGRectGetMaxY(self.frame);
41
+
42
+ _menuTable = [[UITableView alloc]initWithFrame:CGRectMake(SCREEN_WIDTH/4, 0, 0.75*SCREEN_WIDTH,SCREEN_HEIGHT - (SCREEN_HEIGHT - CGRectGetMaxY(self.frame)) )];
43
+ _menuTable.scrollEnabled = NO;
44
+
45
+
46
+ _menuTable.tableHeaderView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH/2, CGRectGetHeight(frame))];
47
+
48
+ _menuTable.delegate = self;
49
+ _menuTable.dataSource = self;
50
+ _menuTable.separatorStyle = UITableViewCellSeparatorStyleNone;
51
+ _menuTable.backgroundColor = [UIColor clearColor];
52
+ _menuTable.transform = CGAffineTransformMakeRotation(-M_PI); //Rotate the table
53
+
54
+ previousOffset = scrView.contentOffset.y;
55
+
56
+ bgScroller = scrView;
57
+
58
+ _pressedImage = activeImage;
59
+ _normalImage = passiveImage;
60
+ [self setupButton];
61
+
62
+ }
63
+ return self;
64
+ }
65
+
66
+
67
+ -(void)setHideWhileScrolling:(BOOL)hideWhileScrolling
68
+ {
69
+ if (bgScroller!=nil)
70
+ {
71
+ _hideWhileScrolling = hideWhileScrolling;
72
+ if (hideWhileScrolling)
73
+ {
74
+ [bgScroller addObserver:self forKeyPath:@"contentOffset" options:NSKeyValueObservingOptionNew context:nil];
75
+ }
76
+ }
77
+ }
78
+
79
+
80
+
81
+ -(void) setupButton
82
+ {
83
+ _isMenuVisible = false;
84
+ self.backgroundColor = [UIColor clearColor];
85
+ UITapGestureRecognizer *buttonTap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleTap:)];
86
+ [self addGestureRecognizer:buttonTap];
87
+
88
+
89
+ UITapGestureRecognizer *buttonTap3 = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleTap:)];
90
+
91
+ [_buttonView addGestureRecognizer:buttonTap3];
92
+
93
+
94
+ UIBlurEffect *blur = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];
95
+ UIVisualEffectView *vsview = [[UIVisualEffectView alloc]initWithEffect:blur];
96
+
97
+
98
+ _bgView = [[UIView alloc]initWithFrame:[UIScreen mainScreen].bounds];
99
+ _bgView.backgroundColor = [UIColor colorWithWhite:0 alpha:0.8];
100
+ _bgView.alpha = 0;
101
+ _bgView.userInteractionEnabled = YES;
102
+ UITapGestureRecognizer *buttonTap2 = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleTap:)];
103
+
104
+ buttonTap2.cancelsTouchesInView = NO;
105
+ vsview.frame = _bgView.bounds;
106
+ _bgView = vsview;
107
+ [_bgView addGestureRecognizer:buttonTap2];
108
+
109
+
110
+ _normalImageView = [[UIImageView alloc]initWithFrame:self.bounds];
111
+ _normalImageView.userInteractionEnabled = YES;
112
+ _normalImageView.contentMode = UIViewContentModeScaleAspectFit;
113
+ _normalImageView.layer.shadowColor = [UIColor blackColor].CGColor;
114
+ _normalImageView.layer.shadowRadius = 5.f;
115
+ _normalImageView.layer.shadowOffset = CGSizeMake(-10, -10);
116
+
117
+
118
+
119
+ _pressedImageView = [[UIImageView alloc]initWithFrame:self.bounds];
120
+ _pressedImageView.contentMode = UIViewContentModeScaleAspectFit;
121
+ _pressedImageView.userInteractionEnabled = YES;
122
+
123
+
124
+ _normalImageView.image = _normalImage;
125
+ _pressedImageView.image = _pressedImage;
126
+
127
+
128
+ [_bgView addSubview:_menuTable];
129
+
130
+ [_buttonView addSubview:_pressedImageView];
131
+ [_buttonView addSubview:_normalImageView];
132
+ [self addSubview:_normalImageView];
133
+
134
+ }
135
+
136
+ -(void)handleTap:(id)sender //Show Menu
137
+ {
138
+
139
+
140
+ if (_isMenuVisible)
141
+ {
142
+
143
+ [self dismissMenu:nil];
144
+ }
145
+ else
146
+ {
147
+ [windowView addSubview:_bgView];
148
+ [windowView addSubview:_buttonView];
149
+
150
+ [_mainWindow addSubview:windowView];
151
+ [self showMenu:nil];
152
+ }
153
+ _isMenuVisible = !_isMenuVisible;
154
+
155
+
156
+ }
157
+
158
+
159
+
160
+
161
+ #pragma mark -- Animations
162
+ #pragma mark ---- button tap Animations
163
+
164
+ -(void) showMenu:(id)sender
165
+ {
166
+
167
+ self.pressedImageView.transform = CGAffineTransformMakeRotation(M_PI);
168
+ self.pressedImageView.alpha = 0.0; //0.3
169
+ [UIView animateWithDuration:animationTime/2 animations:^
170
+ {
171
+ self.bgView.alpha = 1;
172
+
173
+
174
+ self.normalImageView.transform = CGAffineTransformMakeRotation(-M_PI);
175
+ self.normalImageView.alpha = 0.0; //0.7
176
+
177
+
178
+ self.pressedImageView.transform = CGAffineTransformIdentity;
179
+ self.pressedImageView.alpha = 1;
180
+ noOfRows = _labelArray.count;
181
+ [_menuTable reloadData];
182
+
183
+ }
184
+ completion:^(BOOL finished)
185
+ {
186
+ }];
187
+
188
+ }
189
+
190
+ -(void) dismissMenu:(id) sender
191
+
192
+ {
193
+ [UIView animateWithDuration:animationTime/2 animations:^
194
+ {
195
+ self.bgView.alpha = 0;
196
+ self.pressedImageView.alpha = 0.f;
197
+ self.pressedImageView.transform = CGAffineTransformMakeRotation(-M_PI);
198
+ self.normalImageView.transform = CGAffineTransformMakeRotation(0);
199
+ self.normalImageView.alpha = 1.f;
200
+ } completion:^(BOOL finished)
201
+ {
202
+ noOfRows = 0;
203
+ [_bgView removeFromSuperview];
204
+ [windowView removeFromSuperview];
205
+ [_mainWindow removeFromSuperview];
206
+
207
+ }];
208
+ }
209
+
210
+ #pragma mark ---- Scroll animations
211
+
212
+ -(void) showMenuDuringScroll:(BOOL) shouldShow
213
+ {
214
+ if (_hideWhileScrolling)
215
+ {
216
+
217
+ if (!shouldShow)
218
+ {
219
+ [UIView animateWithDuration:animationTime animations:^
220
+ {
221
+ self.transform = CGAffineTransformMakeTranslation(0, buttonToScreenHeight*6);
222
+ } completion:nil];
223
+ }
224
+ else
225
+ {
226
+ [UIView animateWithDuration:animationTime/2 animations:^
227
+ {
228
+ self.transform = CGAffineTransformIdentity;
229
+ } completion:nil];
230
+ }
231
+
232
+ }
233
+ }
234
+
235
+
236
+ -(void) addRows
237
+ {
238
+ NSMutableArray *ip = [[NSMutableArray alloc]init];
239
+ for (int i = 0; i< noOfRows; i++)
240
+ {
241
+ [ip addObject:[NSIndexPath indexPathForRow:i inSection:0]];
242
+ }
243
+ [_menuTable insertRowsAtIndexPaths:ip withRowAnimation:UITableViewRowAnimationFade];
244
+ }
245
+
246
+
247
+
248
+
249
+ #pragma mark -- Observer for scrolling
250
+ -(void) observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
251
+ {
252
+ if ([keyPath isEqualToString:@"contentOffset"])
253
+ {
254
+
255
+ NSLog(@"%f",bgScroller.contentOffset.y);
256
+
257
+ CGFloat diff = previousOffset - bgScroller.contentOffset.y;
258
+
259
+ if (ABS(diff) > 15)
260
+ {
261
+ if (bgScroller.contentOffset.y > 0)
262
+ {
263
+ [self showMenuDuringScroll:(previousOffset > bgScroller.contentOffset.y)];
264
+ previousOffset = bgScroller.contentOffset.y;
265
+ }
266
+ else
267
+ {
268
+ [self showMenuDuringScroll:YES];
269
+ }
270
+
271
+
272
+ }
273
+
274
+ }
275
+ }
276
+
277
+
278
+ #pragma mark -- Tableview methods
279
+
280
+ -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
281
+ {
282
+ return 1;
283
+ }
284
+
285
+ -(NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
286
+ {
287
+ return noOfRows;
288
+ }
289
+
290
+ - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
291
+ {
292
+ return rowHeight;
293
+ }
294
+
295
+
296
+ -(void)tableView:(UITableView *)tableView willDisplayCell:(floatTableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
297
+ {
298
+
299
+
300
+
301
+
302
+ //KeyFrame animation
303
+
304
+ // CABasicAnimation *anim = [CABasicAnimation animationWithKeyPath:@"position.y"];
305
+ // anim.fromValue = @((indexPath.row+1)*CGRectGetHeight(cell.imgView.frame)*-1);
306
+ // anim.toValue = @(cell.frame.origin.y);
307
+ // anim.duration = animationTime/2;
308
+ // anim.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
309
+ // [cell.layer addAnimation:anim forKey:@"position.y"];
310
+
311
+
312
+
313
+
314
+ double delay = (indexPath.row*indexPath.row) * 0.004; //Quadratic time function for progressive delay
315
+
316
+
317
+ CGAffineTransform scaleTransform = CGAffineTransformMakeScale(0.95, 0.95);
318
+ CGAffineTransform translationTransform = CGAffineTransformMakeTranslation(0,-(indexPath.row+1)*CGRectGetHeight(cell.imgView.frame));
319
+ cell.transform = CGAffineTransformConcat(scaleTransform, translationTransform);
320
+ cell.alpha = 0.f;
321
+
322
+ [UIView animateWithDuration:animationTime/2 delay:delay options:UIViewAnimationOptionCurveEaseOut animations:^
323
+ {
324
+
325
+ cell.transform = CGAffineTransformIdentity;
326
+ cell.alpha = 1.f;
327
+
328
+ } completion:^(BOOL finished)
329
+ {
330
+
331
+ }];
332
+
333
+ }
334
+
335
+ -(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
336
+ {
337
+ NSString *identifier = @"cell";
338
+ floatTableViewCell *cell = [_menuTable dequeueReusableCellWithIdentifier:identifier];
339
+ if (!cell)
340
+ {
341
+ [_menuTable registerNib:[UINib nibWithNibName:@"floatTableViewCell" bundle:nil]forCellReuseIdentifier:identifier];
342
+ cell = [_menuTable dequeueReusableCellWithIdentifier:identifier];
343
+ }
344
+
345
+ // NSLog(@"%@",[_menuItemSet allKeys]);
346
+ // NSLog(@"%@",[_menuItemSet allValues]);
347
+
348
+ // cell.imgView.image = [UIImage imageNamed:[[_menuItemSet allKeys]objectAtIndex:indexPath.row]];
349
+ // cell.title.text = [[_menuItemSet allValues]objectAtIndex:indexPath.row];
350
+
351
+ cell.imgView.image = [UIImage imageNamed:[_imageArray objectAtIndex:indexPath.row]];
352
+ cell.title.text = [_labelArray objectAtIndex:indexPath.row];
353
+
354
+
355
+ return cell;
356
+ }
357
+
358
+ -(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
359
+ {
360
+ // NSLog(@"selected CEll: %tu",indexPath.row);
361
+ [delegate didSelectMenuOptionAtIndex:indexPath.row];
362
+
363
+ }
364
+
365
+ @end
@@ -0,0 +1,3 @@
1
+ #ifdef __OBJC__
2
+ # import <UIKit/UIKit.h>
3
+ #endif
@@ -0,0 +1,17 @@
1
+ //
2
+ // floatTableViewCell.h
3
+ // floatingButtonTrial
4
+ //
5
+ // Created by Giridhar on 26/03/15.
6
+ // Copyright (c) 2015 Giridhar. All rights reserved.
7
+ //
8
+
9
+ #import <UIKit/UIKit.h>
10
+
11
+ @interface floatTableViewCell : UITableViewCell
12
+ @property (weak, nonatomic) IBOutlet UIImageView *imgView;
13
+ @property (weak, nonatomic) IBOutlet UILabel *title;
14
+ @property (strong,nonatomic) UIView *overlay;
15
+ -(void)setTitle:(NSString*)txt andImage:(UIImage*)img;
16
+
17
+ @end
@@ -0,0 +1,54 @@
1
+ //
2
+ // floatTableViewCell.m
3
+ // floatingButtonTrial
4
+ //
5
+ // Created by Giridhar on 26/03/15.
6
+ // Copyright (c) 2015 Giridhar. All rights reserved.
7
+ //
8
+
9
+ #import "floatTableViewCell.h"
10
+
11
+ @implementation floatTableViewCell
12
+ @synthesize imgView, title,overlay;
13
+
14
+ - (void)awakeFromNib
15
+ {
16
+ // Initialization code
17
+ overlay = [UIView new];
18
+ overlay.backgroundColor = [UIColor colorWithWhite:0.8 alpha:0.6];
19
+ [title addSubview:overlay];
20
+ self.imgView.layer.cornerRadius = 45/2;
21
+ self.imgView.layer.masksToBounds = YES;
22
+ // self.title.backgroundColor = [UIColor colorWithWhite:0.8 alpha:0.8];
23
+ // self.title.layer.cornerRadius = 5.f;
24
+ // self.title.layer.masksToBounds = YES;
25
+ self.selectionStyle = UITableViewCellSelectionStyleNone;
26
+ self.backgroundColor = [UIColor clearColor];
27
+ self.contentView.transform = CGAffineTransformMakeRotation(-M_PI);
28
+ }
29
+
30
+
31
+ -(void)setTitle:(NSString*)txt andImage:(UIImage*)img
32
+ {
33
+ // self.title.text = txt;
34
+ //
35
+ // CGFloat width = ceil([self.title.text sizeWithAttributes:@{NSFontAttributeName: self.title.font}].width);
36
+ //
37
+ // CGFloat height = ceil([self.title.text sizeWithAttributes:@{NSFontAttributeName: self.title.font}].height);
38
+ //
39
+ // overlay.frame = CGRectMake(CGRectGetMaxX(self.title.frame), CGRectGetMaxY(self.title.frame), width, height);
40
+ //
41
+ //
42
+ //
43
+ // self.imgView.image = img;
44
+
45
+ }
46
+
47
+ - (void)setSelected:(BOOL)selected animated:(BOOL)animated
48
+ {
49
+ [super setSelected:selected animated:animated];
50
+
51
+ // Configure the view for the selected state
52
+ }
53
+
54
+ @end
@@ -0,0 +1,44 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="6751" systemVersion="14C109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES">
3
+ <dependencies>
4
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="6736"/>
5
+ </dependencies>
6
+ <objects>
7
+ <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
8
+ <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
9
+ <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" id="KGk-i7-Jjw" customClass="floatTableViewCell">
10
+ <rect key="frame" x="0.0" y="0.0" width="320" height="50"/>
11
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
12
+ <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
13
+ <rect key="frame" x="0.0" y="0.0" width="320" height="43"/>
14
+ <autoresizingMask key="autoresizingMask"/>
15
+ <subviews>
16
+ <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="sVt-ta-6Yu">
17
+ <rect key="frame" x="257" y="2" width="45" height="45"/>
18
+ <constraints>
19
+ <constraint firstAttribute="width" constant="45" id="P93-3K-N9f"/>
20
+ <constraint firstAttribute="height" constant="45" id="mqc-fm-Jug"/>
21
+ </constraints>
22
+ </imageView>
23
+ <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xke-gv-IoN">
24
+ <rect key="frame" x="207" y="14" width="42" height="21"/>
25
+ <fontDescription key="fontDescription" type="system" pointSize="17"/>
26
+ <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
27
+ <nil key="highlightedColor"/>
28
+ </label>
29
+ </subviews>
30
+ <constraints>
31
+ <constraint firstItem="sVt-ta-6Yu" firstAttribute="leading" secondItem="xke-gv-IoN" secondAttribute="trailing" constant="8" id="8oZ-iZ-2N8"/>
32
+ <constraint firstAttribute="centerY" secondItem="sVt-ta-6Yu" secondAttribute="centerY" id="by5-zg-Brf"/>
33
+ <constraint firstAttribute="trailing" secondItem="sVt-ta-6Yu" secondAttribute="trailing" constant="18" id="dT4-nx-suN"/>
34
+ <constraint firstAttribute="centerY" secondItem="xke-gv-IoN" secondAttribute="centerY" id="sLm-na-xP7"/>
35
+ </constraints>
36
+ </tableViewCellContentView>
37
+ <connections>
38
+ <outlet property="imgView" destination="sVt-ta-6Yu" id="lEW-XZ-35G"/>
39
+ <outlet property="title" destination="xke-gv-IoN" id="t8w-Dn-E1j"/>
40
+ </connections>
41
+ <point key="canvasLocation" x="413" y="366"/>
42
+ </tableViewCell>
43
+ </objects>
44
+ </document>
metadata ADDED
@@ -0,0 +1,57 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: motion-floating-action-button
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Damien Sutevski
8
+ - Siyuan Liu
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2015-11-26 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: Easily create an interface with swipeable cards.
15
+ email: dameyawn@gmail.com
16
+ executables: []
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - README.md
21
+ - lib/motion-floating-action-button.rb
22
+ - lib/motion-floating-action-button/motion-floating-action-button.rb
23
+ - vendor/motion-floating-action-button/VCFloatingActionButton.h
24
+ - vendor/motion-floating-action-button/VCFloatingActionButton.m
25
+ - vendor/motion-floating-action-button/build-iPhoneSimulator/VCFloatingActionButton.m.o
26
+ - vendor/motion-floating-action-button/build-iPhoneSimulator/floatTableViewCell.m.o
27
+ - vendor/motion-floating-action-button/build-iPhoneSimulator/libmotion-floating-action-button.a
28
+ - vendor/motion-floating-action-button/build-iPhoneSimulator/motion-floating-action-button.pch
29
+ - vendor/motion-floating-action-button/floatTableViewCell.h
30
+ - vendor/motion-floating-action-button/floatTableViewCell.m
31
+ - vendor/motion-floating-action-button/floatTableViewCell.xib
32
+ homepage: http://github.com/dam13n/motion-floating-action-button
33
+ licenses:
34
+ - MIT
35
+ metadata: {}
36
+ post_install_message:
37
+ rdoc_options: []
38
+ require_paths:
39
+ - lib
40
+ - vendor
41
+ required_ruby_version: !ruby/object:Gem::Requirement
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ required_rubygems_version: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: '0'
51
+ requirements: []
52
+ rubyforge_project:
53
+ rubygems_version: 2.2.2
54
+ signing_key:
55
+ specification_version: 4
56
+ summary: Rubymotion gem to use TinderSimpleSwipeCards
57
+ test_files: []