Adds boolean field to MCFormFields.

This commit is contained in:
2020-09-25 04:46:50 -07:00
parent b2eed1ffc7
commit 5e00722c3b
7 changed files with 129 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
//
// MCBooleanFieldTableViewCell.h
// MonsterCards
//
// Created by Tom Hicks on 9/25/20.
// Copyright © 2020 Tom Hicks. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "MCFormFieldDelegate.h"
NS_ASSUME_NONNULL_BEGIN
@interface MCBooleanFieldTableViewCell : UITableViewCell
@property NSString* identifier;
@property NSString* label;
@property BOOL value;
@property (weak, nonatomic) id<MCFormFieldDelegate> delegate;
@property (weak, nonatomic) IBOutlet UILabel *labelView;
@property (weak, nonatomic) IBOutlet UISwitch *switchView;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,58 @@
//
// MCBooleanFieldTableViewCell.m
// MonsterCards
//
// Created by Tom Hicks on 9/25/20.
// Copyright © 2020 Tom Hicks. All rights reserved.
//
#import "MCBooleanFieldTableViewCell.h"
@implementation MCBooleanFieldTableViewCell
@synthesize value = _value;
- (void)setValue:(BOOL)value {
if (value != _value) {
_value = value;
if (self.switchView) {
self.switchView.on = _value;
}
}
}
- (BOOL)value {
return _value;
}
@synthesize label = _label;
- (void)setLabel:(NSString*)label {
if (![_label isEqualToString:label]) {
_label = label;
if (self.labelView) {
self.labelView.text = label;
}
}
}
- (NSString*)label {
return _label;
}
- (void)awakeFromNib {
[super awakeFromNib];
self.switchView.on = self.value;
self.labelView.text = self.label;
}
- (IBAction)valueChanged:(id)sender {
self.value = self.switchView.on;
if (self.delegate != nil) {
[self.delegate editableValueDidChange:[NSNumber numberWithBool:self.value]
forIdentifier:self.identifier
andType:kMCFieldValueTypeBoolean];
}
}
@end

View File

@@ -11,5 +11,6 @@
extern NSString* const kMCFieldValueTypeInteger;
extern NSString* const kMCFieldValueTypeString;
extern NSString* const kMCFieldValueTypeBoolean;
#endif /* MCFormFieldConstants_h */

View File

@@ -11,3 +11,4 @@
NSString* const kMCFieldValueTypeInteger = @"Integer";
NSString* const kMCFieldValueTypeString = @"String";
NSString* const kMCFieldValueTypeBoolean = @"Boolean";

View File

@@ -66,4 +66,5 @@
- (IBAction)stepperValueChanged:(id)sender {
self.value = self.stepper.value;
}
@end