Я работаю над проектом, который включает внесение изменений в UILabel
.
Это идея:
У UILabel
есть стандартный текст, введенный пользователем + UITextField
под текстом.
При длительном нажатии UILabel
, он покажет описание этого конкретного UILabel
и скрывает UITextField
. При повторном длительном нажатии снова должен отображаться стандартный текст и показываться UITextField
.
Первая часть работает: при долгом нажатии вместо стандартного текста будет отображаться описание, а UITextField
будет скрыто. NSLog
также являются правильными.
Однако, когда я продолжаю долго нажимать: текст описания остается, но UITextField
появится снова (потому что я так сказал в своем коде).
Однако NSLog
сообщают мне, что ДЕЙСТВИТЕЛЬНО менялись (я регистрирую UILabel.text).
Это код:
-(void)textfieldLongPressed:(UILongPressGestureRecognizer *)gesture {
if(gesture.state == UIGestureRecognizerStateEnded) {
// getting the correct switch (UILabel)
TextFieldSwitch *correctSwitch = (TextFieldSwitch *)[gesture view];
// getting the switch text using a own generated method that returns the correct UILabel.text
NSString *switchText = [correctSwitch getTextfieldSwitchText];
// if the switch text is equal to the description, it should show the standard text again & show the UITextField
if([switchText isEqual: [correctSwitch getDescription]]) {
[correctSwitch setTextfieldSwitchText:[correctSwitch getName]];
[correctSwitch showTextField];
} else {
[correctSwitch setTextfieldSwitchText:[correctSwitch getDescription]];
[correctSwitch hideTextField];
}
// log the standard name of the switch.
NSLog(@"Name: %@", [correctSwitch getName]);
//log the UILabel.text
NSLog(@"TxtfieldLabel text: %@", [correctSwitch getTextfieldSwitchText]);
}
}
Если бы кто-нибудь мог мне помочь, я был бы благодарен!
Заранее спасибо.
Редактировать:
Код из класса TextFieldSwitch:
-(void)setTextfieldSwitchText:(NSString *)newText {
textfieldSwitch.text = newText;
}