From 60ccb1ddfd3cd93147f7427ecc1274bf561be35b Mon Sep 17 00:00:00 2001
From: Vitaly Takmazov
Date: Wed, 2 Oct 2019 11:19:37 +0300
Subject: Disable send button on empty text
---
Juick/Main.storyboard | 2 +-
Juick/ViewControllers/NewPostViewController.h | 2 +-
Juick/ViewControllers/NewPostViewController.m | 13 +++++++++----
3 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/Juick/Main.storyboard b/Juick/Main.storyboard
index 81266dd..00ee720 100644
--- a/Juick/Main.storyboard
+++ b/Juick/Main.storyboard
@@ -302,7 +302,7 @@
-
+
diff --git a/Juick/ViewControllers/NewPostViewController.h b/Juick/ViewControllers/NewPostViewController.h
index 05e3c73..9d1297c 100644
--- a/Juick/ViewControllers/NewPostViewController.h
+++ b/Juick/ViewControllers/NewPostViewController.h
@@ -12,7 +12,7 @@
extern NSString * const NewMessageNotificationName;
extern NSString * const ReplyPostedNotificationName;
-@interface NewPostViewController : UIViewController
+@interface NewPostViewController : UIViewController
@property (weak, nonatomic) IBOutlet UITextView *textView;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *bottomConstraint;
diff --git a/Juick/ViewControllers/NewPostViewController.m b/Juick/ViewControllers/NewPostViewController.m
index afa14a9..b992ed8 100644
--- a/Juick/ViewControllers/NewPostViewController.m
+++ b/Juick/ViewControllers/NewPostViewController.m
@@ -40,13 +40,14 @@ NSString * const ReplyPostedNotificationName = @"ReplyPosted";
}
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidShow:) name:UIKeyboardDidShowNotification object:nil];
+ self.textView.delegate = self;
[self.textView becomeFirstResponder];
}
- (IBAction)sendAction:(id)sender {
- self.navigationController.navigationItem.rightBarButtonItem.enabled = NO;
+ self.navigationItem.rightBarButtonItem.enabled = NO;
if (_replyTo == nil) {
- self.navigationController.navigationItem.rightBarButtonItem.enabled = YES;
+ self.navigationItem.rightBarButtonItem.enabled = YES;
[[APIClient sharedClient] postMessage:self.textView.text result:^(Message *msg, NSError *err) {
if (!err) {
[self dismissViewControllerAnimated:YES completion:^{
@@ -58,14 +59,14 @@ NSString * const ReplyPostedNotificationName = @"ReplyPosted";
}
}];
} else {
- self.navigationController.navigationItem.rightBarButtonItem.enabled = NO;
+ self.navigationItem.rightBarButtonItem.enabled = NO;
[[APIClient sharedClient] postReplyToThread:_replyTo.mid inReplyTo:_replyTo.rid text:self.textView.text result:^(Message *msg, NSError *err) {
if (!err) {
[self dismissViewControllerAnimated:YES completion:^{
[[NSNotificationCenter defaultCenter] postNotificationName:ReplyPostedNotificationName object:msg];
}];
} else {
- self.navigationController.navigationItem.rightBarButtonItem.enabled = YES;
+ self.navigationItem.rightBarButtonItem.enabled = YES;
// TODO: display error
}
}];
@@ -96,4 +97,8 @@ NSString * const ReplyPostedNotificationName = @"ReplyPosted";
return _inputAccessoryView;
}
+- (void)textViewDidChange:(UITextView *)textView {
+ self.navigationItem.rightBarButtonItem.enabled = [textView.text length];
+}
+
@end
--
cgit v1.2.3