私はこのコードを試しています。の1 つで、viewController
次のスニペットを使用しています。
- (BOOL)textView:(UITextView *)textView1 shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if([text isEqualToString:@"\n"])
{
[textView resignFirstResponder];
return NO;
}
return YES;
}
を押してキーボードを閉じることがウェブでわかりましたreturnButton
。this から呼び出すとうまくいきますviewController
。ルートKLNoteViewController
では、ハンドル状態の変更方法に通知を追加しています:
- (void) setState:(KLControllerCardState)state animated:(BOOL) animated
{
[[NSNotificationCenter defaultCenter] postNotificationName:@"refresh" object:self];
if (animated)
{
[UIView animateWithDuration:self.noteViewController.cardAnimationDuration animations:^{
[self setState:state animated:NO];
}];
return;
}
//Full Screen State
if (state == KLControllerCardStateFullScreen)
{
[self expandCardToFullSize: animated];
[self setYCoordinate: 0];
}
//Default State
else if (state == KLControllerCardStateDefault)
{
[self shrinkCardToScaledSize: animated];
[self setYCoordinate: originY];
}
//Hidden State - Bottom
else if (state == KLControllerCardStateHiddenBottom)
{
//Move it off screen and far enough down that the shadow does not appear on screen
[self setYCoordinate: self.noteViewController.view.frame.size.height + abs(self.noteViewController.cardShadowOffset.height)*3];
}
//Hidden State - Top
else if (state == KLControllerCardStateHiddenTop)
{
[self setYCoordinate: 0];
}
//Notify the delegate of the state change (even if state changed to self)
KLControllerCardState lastState = self.state;
//Update to the new state
[self setState:state];
//Notify the delegate
if ([self.delegate respondsToSelector:@selector(controllerCard:didChangeToDisplayState:fromDisplayState:)]) {
[self.delegate controllerCard:self
didChangeToDisplayState:state fromDisplayState: lastState];
}
}
追加のオブザーバーを追加します。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(dismissKeyboard) name:@"refresh" object:nil];
毎秒。viewController
_ -viewDidLoad
したがって、このオブザーバーをUITextField
すべて正常に使用すると、viewController
使用UIText View
中にログでクラッシュします。
[ NSStackBlock isEqualToString:]: 認識されないセレクターがインスタンス 0xbfffd228 に送信されました
私はウェブで検索しましたが、それが何であるかを説明するリンクが2つしか見つかりNSStackBlock
ませんでした。問題を解決するのに十分な情報ではありません. 誰かがそれが何であるかを説明できますか?