-
Notifications
You must be signed in to change notification settings - Fork 0
/
QuizViewController.h
61 lines (43 loc) · 1.71 KB
/
QuizViewController.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
//
// QuizViewController.h
// iVerb
//
// Created by Maxime Leroy on 2/5/13.
//
//
#import "Playlist.h"
@import AVFoundation;
@import Speech;
NS_ASSUME_NONNULL_BEGIN
@interface SpeechRecognizerButton: UIButton
@property (nonatomic, assign) BOOL loading;
@property (nonatomic, assign) CGFloat leftChannelLevel, rightChannelLevel;
@end
typedef NS_ENUM(NSUInteger, ResponseState) {
ResponseStateRight,
ResponseStateWrong
};
typedef NS_ENUM(NSInteger, VerbForm) {
VerbFormUnspecified = -1,
VerbFormPastSimple = 0,
VerbFormPastParticiple
};
@interface QuizViewController : UIViewController <UITextFieldDelegate, UINavigationControllerDelegate>
@property (nonatomic, weak) IBOutlet UIView * quizView, * responseView;
@property (nonatomic, weak) IBOutlet UILabel * infinitifLabel, * formLabel, * remainingCount;
@property (nonatomic, weak) IBOutlet UITextField * textField;
@property (nonatomic, weak) IBOutlet UIImageView * backgroundFieldImageView;
@property (nonatomic, weak) IBOutlet SpeechRecognizerButton * speechButton;
@property (nonatomic, weak) IBOutlet UIImageView * responseImageView;
@property (nonatomic, weak) IBOutlet UILabel * responseLabel;
- (instancetype)initWithPlaylist:(nonnull Playlist *)playlist;
- (instancetype)initWithPlaylist:(nonnull Playlist *)playlist firstVerb:(nullable Verb *)verb verbForm:(VerbForm)verbForm NS_DESIGNATED_INITIALIZER;
#pragma mark Next Verb Management
- (IBAction)pushNewVerbAction:(nullable id)sender;
- (void)pushVerb:(Verb *)verb form:(VerbForm)form animated:(BOOL)animated;
#pragma mark Result Management
- (void)pushResultAnimated:(BOOL)animated;
#pragma mark Response Management
- (void)pushResponse:(ResponseState)response animated:(BOOL)animated;
@end
NS_ASSUME_NONNULL_END