-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathRotableViewController.m
More file actions
71 lines (56 loc) · 2.11 KB
/
RotableViewController.m
File metadata and controls
71 lines (56 loc) · 2.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
//
// RotableViewController.m
// Psychologist
//
// Created by Juan Ribes on 12/12/11.
// Copyright (c) 2011 __MyCompanyName__. All rights reserved.
//
#import "RotableViewController.h"
#import "SplitViewBarButtonItemPresenter.h" //Now we can declare a splitButtonBarButtonItem from my detailVC
@implementation RotableViewController
- (void) awakeFromNib //to come up our StoryBoard for Dr Pill?
{
[super awakeFromNib];
self.splitViewController.delegate = self; //I'm the delegate
}
-(id <SplitViewBarButtonItemPresenter>)splitViewBarButtonItemPresenter //A way to communicate wiht our detail View (HVC in this case) in order to save our buttons)
{
id detailVC = [self.splitViewController.viewControllers lastObject];//returns my detail view
if (![detailVC conformsToProtocol:@protocol(SplitViewBarButtonItemPresenter)]){
detailVC = nil;
}
return detailVC;
}
-(BOOL) splitViewController:(UISplitViewController *)svc
shouldHideViewController:(UIViewController *)vc
inOrientation:(UIInterfaceOrientation)orientation
{
// [self splitViewBarButtonItemPresenter] ? : NO
return [self splitViewBarButtonItemPresenter] ? UIInterfaceOrientationIsPortrait(orientation) : NO;
}
- (void) splitViewController:(UISplitViewController *)svc
willHideViewController:(UIViewController *)aViewController
withBarButtonItem:(UIBarButtonItem *)barButtonItem
forPopoverController:(UIPopoverController *)pc
{
barButtonItem.title = self.title;
//NSLog(@"digit pressed = %@", self.title);
//tell the detail view to put this button up
[self splitViewBarButtonItemPresenter].splitViewBarButtonItem = barButtonItem;
}
-(void) splitViewController:(UISplitViewController *)svc
willShowViewController:(UIViewController *)aViewController
invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem
{
//tell the detail view to take the button away
[self splitViewBarButtonItemPresenter].splitViewBarButtonItem = nil;
}
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskAll;
}
- (BOOL)shouldAutorotate
{
return YES;
}
@end