summaryrefslogtreecommitdiff
path: root/Juick
diff options
context:
space:
mode:
Diffstat (limited to 'Juick')
-rw-r--r--Juick/Supporting Files/Juick-Prefix.pch1
-rw-r--r--Juick/ViewControllers/ChatViewController.h3
-rw-r--r--Juick/ViewControllers/ChatViewController.m27
-rw-r--r--Juick/Views/MessageInputView.h9
-rw-r--r--Juick/Views/MessageInputView.m4
-rw-r--r--Juick/Views/MessageInputView.xib24
6 files changed, 42 insertions, 26 deletions
diff --git a/Juick/Supporting Files/Juick-Prefix.pch b/Juick/Supporting Files/Juick-Prefix.pch
index 3a66330..2e32df2 100644
--- a/Juick/Supporting Files/Juick-Prefix.pch
+++ b/Juick/Supporting Files/Juick-Prefix.pch
@@ -19,6 +19,5 @@
#import "UIImage+Utils.h"
#import <DateTools/DateTools.h>
- #import <PHFComposeBarView/PHFComposeBarView.h>
#import <UIView+Shimmer.h>
#endif
diff --git a/Juick/ViewControllers/ChatViewController.h b/Juick/ViewControllers/ChatViewController.h
index 4a5133a..bfd63e7 100644
--- a/Juick/ViewControllers/ChatViewController.h
+++ b/Juick/ViewControllers/ChatViewController.h
@@ -8,8 +8,9 @@
#import <UIKit/UIKit.h>
#import "User.h"
+#import "MessageInputView.h"
-@interface ChatViewController : UITableViewController<PHFComposeBarViewDelegate>
+@interface ChatViewController : UITableViewController<MessageInputDelegate>
@property(nonatomic, strong) NSMutableArray *messages;
@property(nonatomic, strong) NSString *uname;
diff --git a/Juick/ViewControllers/ChatViewController.m b/Juick/ViewControllers/ChatViewController.m
index 989b531..2612719 100644
--- a/Juick/ViewControllers/ChatViewController.m
+++ b/Juick/ViewControllers/ChatViewController.m
@@ -10,9 +10,11 @@
#import "BubbleMessageCell.h"
#import "APIClient.h"
+#import "MessageInputView.h"
+
@interface ChatViewController ()
-@property (nonatomic, readwrite, retain) UIView *inputAccessoryView;
+@property (nonatomic, readwrite, retain) MessageInputView *accessoryView;
@property (nonatomic, strong) NSString *me;
@end
@@ -26,6 +28,7 @@
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
self.tableView.keyboardDismissMode = UIScrollViewKeyboardDismissModeInteractive;
self.tableView.allowsSelection = NO;
+ self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentAutomatic;
self.me = [APIClient sharedClient].credential.user;
[self reloadChat];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillChangeFrame:) name:UIKeyboardWillChangeFrameNotification object:nil];
@@ -77,15 +80,16 @@
return YES;
}
+- (BOOL)canResignFirstResponder {
+ return YES;
+}
+
- (UIView *) inputAccessoryView {
- if (!_inputAccessoryView) {
- PHFComposeBarView *composeView = [[PHFComposeBarView alloc] initWithFrame:CGRectMake(0, self.view.bounds.size.height - PHFComposeBarViewInitialHeight, self.view.bounds.size.width, PHFComposeBarViewInitialHeight)];
- composeView.delegate = self;
- [composeView.bottomAnchor constraintEqualToSystemSpacingBelowAnchor:self.view.safeAreaLayoutGuide.bottomAnchor multiplier:1.0f];
- composeView.maxLinesCount = 4;
- _inputAccessoryView = composeView;
+ if (!_accessoryView) {
+ _accessoryView = [[[NSBundle mainBundle] loadNibNamed:@"MessageInputView" owner:self options:nil] firstObject];
+ _accessoryView.delegate = self;
}
- return _inputAccessoryView;
+ return _accessoryView;
}
-(void) keyboardWillChangeFrame:(NSNotification *)notification {
@@ -102,12 +106,11 @@
}
}
--(void) composeBarViewDidPressButton:(PHFComposeBarView *)composeBarView {
- [[APIClient sharedClient] postPMToUser:self.uname text:composeBarView.text result:^(NSError *err) {
+-(void) textSent:(NSString *)text {
+ [[APIClient sharedClient] postPMToUser:self.uname text:text result:^(NSError *err) {
if (!err) {
NSLog(@"Success!");
- [composeBarView becomeFirstResponder];
- [composeBarView setText:nil animated:NO];
+ [self.accessoryView becomeFirstResponder];
[self reloadChat];
}
}];
diff --git a/Juick/Views/MessageInputView.h b/Juick/Views/MessageInputView.h
index 38ce721..c78f498 100644
--- a/Juick/Views/MessageInputView.h
+++ b/Juick/Views/MessageInputView.h
@@ -8,8 +8,17 @@
#import <UIKit/UIKit.h>
+@protocol MessageInputDelegate <NSObject>
+
+-(void) textSent:(NSString *)text;
+
+@end
+
@interface MessageInputView : UIVisualEffectView
@property (strong, nonatomic) IBOutlet NSLayoutConstraint *bottomConstraint;
@property (strong, nonatomic) IBOutlet UITextField *textView;
+- (IBAction)sendPressed:(id)sender;
+
+@property (nonatomic, weak) id<MessageInputDelegate> delegate;
@end
diff --git a/Juick/Views/MessageInputView.m b/Juick/Views/MessageInputView.m
index ab6b3e5..c4d96de 100644
--- a/Juick/Views/MessageInputView.m
+++ b/Juick/Views/MessageInputView.m
@@ -15,4 +15,8 @@
[self setTintColor:[UIColor colorNamed:@"Title"]];
}
+- (IBAction)sendPressed:(id)sender {
+ [self.delegate textSent:self.textView.text];
+ self.textView.text = nil;
+}
@end
diff --git a/Juick/Views/MessageInputView.xib b/Juick/Views/MessageInputView.xib
index 240391c..9cb8bd4 100644
--- a/Juick/Views/MessageInputView.xib
+++ b/Juick/Views/MessageInputView.xib
@@ -1,41 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14313.18" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
- <device id="retina4_7" orientation="portrait">
- <adaptation id="fullscreen"/>
- </device>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14868" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+ <device id="retina4_7" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
- <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14283.14"/>
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14824"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<visualEffectView opaque="NO" contentMode="scaleToFill" id="2Ze-bx-tgN" customClass="MessageInputView">
- <rect key="frame" x="0.0" y="0.0" width="320" height="74"/>
+ <rect key="frame" x="0.0" y="0.0" width="320" height="58"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" id="Jo1-Go-4dO">
- <rect key="frame" x="0.0" y="0.0" width="320" height="74"/>
+ <rect key="frame" x="0.0" y="0.0" width="320" height="58"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" spacing="6" translatesAutoresizingMaskIntoConstraints="NO" id="OCM-7q-caQ">
- <rect key="frame" x="4" y="4" width="300" height="54"/>
+ <rect key="frame" x="4" y="4" width="300" height="38"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="112-Yb-83a">
- <rect key="frame" x="0.0" y="0.0" width="30" height="54"/>
+ <rect key="frame" x="0.0" y="0.0" width="30" height="38"/>
<fontDescription key="fontDescription" style="UICTFontTextStyleBody"/>
<state key="normal" title="@"/>
</button>
<textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="249" horizontalCompressionResistancePriority="751" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="natural" adjustsFontForContentSizeCategory="YES" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="Dkb-8O-5u6">
- <rect key="frame" x="36" y="0.0" width="218" height="54"/>
- <nil key="textColor"/>
+ <rect key="frame" x="36" y="0.0" width="218" height="38"/>
<fontDescription key="fontDescription" style="UICTFontTextStyleBody"/>
<textInputTraits key="textInputTraits"/>
</textField>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="iUb-5g-Btb">
- <rect key="frame" x="260" y="0.0" width="40" height="54"/>
+ <rect key="frame" x="260" y="0.0" width="40" height="38"/>
<fontDescription key="fontDescription" style="UICTFontTextStyleBody"/>
<state key="normal" title="Send"/>
+ <connections>
+ <action selector="sendPressed:" destination="2Ze-bx-tgN" eventType="touchUpInside" id="8Nq-cB-tho"/>
+ </connections>
</button>
</subviews>
</stackView>