From 1ecd4a43274bb468f918a8ba22a3aa6defa1e77b Mon Sep 17 00:00:00 2001 From: Tom Hicks Date: Fri, 18 Sep 2020 00:47:48 -0700 Subject: [PATCH] Adds a label to the integer form field. Makes the string value and both string and integer label update the underlying controls when set. --- MonsterCards/Base.lproj/Main.storyboard | 18 +++++++++-- .../FormFields/MCIntegerFieldTableViewCell.h | 1 + .../FormFields/MCIntegerFieldTableViewCell.m | 18 +++++++++++ .../MCShortStringFieldTableViewCell.m | 30 +++++++++++++++++++ 4 files changed, 64 insertions(+), 3 deletions(-) diff --git a/MonsterCards/Base.lproj/Main.storyboard b/MonsterCards/Base.lproj/Main.storyboard index 06280bb..49df5d6 100644 --- a/MonsterCards/Base.lproj/Main.storyboard +++ b/MonsterCards/Base.lproj/Main.storyboard @@ -262,7 +262,7 @@ - + @@ -282,16 +282,28 @@ + - + + + + - + diff --git a/MonsterCards/Views/FormFields/MCIntegerFieldTableViewCell.h b/MonsterCards/Views/FormFields/MCIntegerFieldTableViewCell.h index a57ef3e..181e498 100644 --- a/MonsterCards/Views/FormFields/MCIntegerFieldTableViewCell.h +++ b/MonsterCards/Views/FormFields/MCIntegerFieldTableViewCell.h @@ -20,6 +20,7 @@ NS_ASSUME_NONNULL_BEGIN @property (weak, nonatomic) id delegate; @property (weak, nonatomic) IBOutlet UITextField *textField; @property (weak, nonatomic) IBOutlet UIStepper *stepper; +@property (weak, nonatomic) IBOutlet UILabel *labelView; - (IBAction)stepperValueChanged:(id)sender; @end diff --git a/MonsterCards/Views/FormFields/MCIntegerFieldTableViewCell.m b/MonsterCards/Views/FormFields/MCIntegerFieldTableViewCell.m index 6e6c18e..ae8a107 100644 --- a/MonsterCards/Views/FormFields/MCIntegerFieldTableViewCell.m +++ b/MonsterCards/Views/FormFields/MCIntegerFieldTableViewCell.m @@ -34,6 +34,24 @@ return _value; } +@synthesize label = _label; + +- (void)setLabel:(NSString*)label { + if (![_label isEqualToString:label]) { + _label = label; + if (self.textField) { + self.textField.placeholder = label; + } + if (self.labelView) { + self.labelView.text = label; + } + } +} + +- (NSString*)label { + return _label; +} + - (void)awakeFromNib { [super awakeFromNib]; [self.textField addTarget:self diff --git a/MonsterCards/Views/FormFields/MCShortStringFieldTableViewCell.m b/MonsterCards/Views/FormFields/MCShortStringFieldTableViewCell.m index c0adf26..4056f5b 100644 --- a/MonsterCards/Views/FormFields/MCShortStringFieldTableViewCell.m +++ b/MonsterCards/Views/FormFields/MCShortStringFieldTableViewCell.m @@ -10,6 +10,36 @@ @implementation MCShortStringFieldTableViewCell +@synthesize value = _value; + +- (void)setValue:(NSString*)value { + if (![_value isEqualToString:value]) { + _value = value; + if (self.textField) { + self.textField.text = value; + } + } +} + +- (NSString*)value { + return _value; +} + +@synthesize label = _label; + +- (void)setLabel:(NSString*)label { + if (![_label isEqualToString:label]) { + _label = label; + if (self.textField) { + self.textField.placeholder = label; + } + } +} + +- (NSString*)label { + return _label; +} + - (void)awakeFromNib { [super awakeFromNib]; [self.textField addTarget:self action:@selector(valueChanged:) forControlEvents:UIControlEventEditingChanged];