Skip to content

Commit 30f3ecc

Browse files
committed
Merge pull request slackhq#386 from slackhq/retain-cycle-fix
Retain Cycle Fixes
2 parents e2ca727 + 0c5c7d6 commit 30f3ecc

File tree

16 files changed

+237
-171
lines changed

16 files changed

+237
-171
lines changed
Binary file not shown.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"images" : [
3+
{
4+
"idiom" : "universal",
5+
"filename" : "icn_arrow_down.pdf",
6+
"scale" : "1x"
7+
},
8+
{
9+
"idiom" : "universal",
10+
"scale" : "2x"
11+
},
12+
{
13+
"idiom" : "universal",
14+
"scale" : "3x"
15+
}
16+
],
17+
"info" : {
18+
"version" : 1,
19+
"author" : "xcode"
20+
}
21+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"images" : [
3+
{
4+
"idiom" : "universal",
5+
"filename" : "icn_arrow_up.pdf",
6+
"scale" : "1x"
7+
},
8+
{
9+
"idiom" : "universal",
10+
"scale" : "2x"
11+
},
12+
{
13+
"idiom" : "universal",
14+
"scale" : "3x"
15+
}
16+
],
17+
"info" : {
18+
"version" : 1,
19+
"author" : "xcode"
20+
}
21+
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Examples/Messenger-Shared/MessageViewController.m

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,11 @@ - (void)configureDataSource
158158

159159
- (void)configureActionItems
160160
{
161+
UIBarButtonItem *arrowItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"icn_arrow_down"]
162+
style:UIBarButtonItemStylePlain
163+
target:self
164+
action:@selector(hideOrShowTextInputbar:)];
165+
161166
UIBarButtonItem *editItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"icn_editing"]
162167
style:UIBarButtonItemStylePlain
163168
target:self
@@ -178,12 +183,23 @@ - (void)configureActionItems
178183
target:self
179184
action:@selector(togglePIPWindow:)];
180185

181-
self.navigationItem.rightBarButtonItems = @[pipItem, editItem, appendItem, typeItem];
186+
self.navigationItem.rightBarButtonItems = @[arrowItem, pipItem, editItem, appendItem, typeItem];
182187
}
183188

184189

185190
#pragma mark - Action Methods
186191

192+
- (void)hideOrShowTextInputbar:(id)sender
193+
{
194+
BOOL hide = !self.textInputbarHidden;
195+
196+
UIImage *image = hide ? [UIImage imageNamed:@"icn_arrow_up"] : [UIImage imageNamed:@"icn_arrow_down"];
197+
UIBarButtonItem *buttonItem = (UIBarButtonItem *)sender;
198+
199+
[self setTextInputbarHidden:hide animated:YES];
200+
[buttonItem setImage:image];
201+
}
202+
187203
- (void)fillWithText:(id)sender
188204
{
189205
if (self.textView.text.length == 0)
@@ -406,15 +422,14 @@ - (void)didPressRightButton:(id)sender
406422
[super didPressRightButton:sender];
407423
}
408424

409-
- (void)didPressArrowKey:(id)sender
425+
- (void)didPressArrowKey:(UIKeyCommand *)keyCommand
410426
{
411-
[super didPressArrowKey:sender];
412-
413-
UIKeyCommand *keyCommand = (UIKeyCommand *)sender;
414-
415-
if ([keyCommand.input isEqualToString:UIKeyInputUpArrow]) {
427+
if ([keyCommand.input isEqualToString:UIKeyInputUpArrow] && self.textView.text.length == 0) {
416428
[self editLastMessage:nil];
417429
}
430+
else {
431+
[super didPressArrowKey:keyCommand];
432+
}
418433
}
419434

420435
- (NSString *)keyForTextCaching

0 commit comments

Comments
 (0)