Skip to content

Commit 09b895f

Browse files
update README
1 parent e825f17 commit 09b895f

12 files changed

Lines changed: 116 additions & 576 deletions

README.md

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,21 @@ WYPopoverController is for the presentation of content in popover on iPhone / iP
7878

7979
---
8080

81-
* passthroughViews
82-
* wantsDefaultContentAppearance
83-
* popoverLayoutMargins
81+
#### passthroughViews
82+
83+
An array of views that the user can interact with while the popover is visible.
84+
85+
#### wantsDefaultContentAppearance
86+
87+
![](https://raw.github.com/nicolaschengdev/WYPopoverController/master/screenshots/wypopover_wantsdefaultcontentappearance.png "")
88+
89+
Determines whether the default content appearance should be used for the popover.
90+
91+
#### popoverLayoutMargins
92+
93+
![](https://raw.github.com/nicolaschengdev/WYPopoverController/master/screenshots/wypopover_popoverlayoutmargins.png "")
94+
95+
The margins that define the portion of the screen in which it is permissible to display the popover.
8496

8597
### ARC
8698

demos/Demo/WYPopoverDemo.xcodeproj/project.pbxproj

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,7 @@
2323
976A343517BB9AEB0071BF21 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 976A343417BB9AEB0071BF21 /* Default-568h@2x.png */; };
2424
976A343817BB9AEB0071BF21 /* WYAllDirectionsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 976A343717BB9AEB0071BF21 /* WYAllDirectionsViewController.m */; };
2525
976A344A17BBAA4C0071BF21 /* WYSettingsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 976A344817BBAA4C0071BF21 /* WYSettingsViewController.m */; };
26-
976A344B17BBAA4C0071BF21 /* WYSettingsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 976A344917BBAA4C0071BF21 /* WYSettingsViewController.xib */; };
2726
97B3CB2F17CD57910005E1A1 /* WYAnotherViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 97B3CB2D17CD57910005E1A1 /* WYAnotherViewController.m */; };
28-
97C0779F17D3C2DF006A19CE /* WYAnotherViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 97C0779E17D3C2DF006A19CE /* WYAnotherViewController.xib */; };
29-
97D5D8DD17E3AB7B00BD82C5 /* WYModalViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 97D5D8DB17E3AB7B00BD82C5 /* WYModalViewController.m */; };
3027
97F27C8E17DB4F8800D5D4A2 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 97FA5C3917D1B11100F611A0 /* QuartzCore.framework */; };
3128
97FA5C3017D1A82E00F611A0 /* WYPopoverController.m in Sources */ = {isa = PBXBuildFile; fileRef = 97FA5C2D17D1A82E00F611A0 /* WYPopoverController.m */; };
3229
97FA5C3117D1A82E00F611A0 /* WYStoryboardPopoverSegue.m in Sources */ = {isa = PBXBuildFile; fileRef = 97FA5C2F17D1A82E00F611A0 /* WYStoryboardPopoverSegue.m */; };
@@ -55,12 +52,8 @@
5552
976A343717BB9AEB0071BF21 /* WYAllDirectionsViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WYAllDirectionsViewController.m; sourceTree = "<group>"; };
5653
976A344717BBAA4C0071BF21 /* WYSettingsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WYSettingsViewController.h; sourceTree = "<group>"; };
5754
976A344817BBAA4C0071BF21 /* WYSettingsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WYSettingsViewController.m; sourceTree = "<group>"; };
58-
976A344917BBAA4C0071BF21 /* WYSettingsViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = WYSettingsViewController.xib; sourceTree = "<group>"; };
5955
97B3CB2C17CD57910005E1A1 /* WYAnotherViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WYAnotherViewController.h; sourceTree = "<group>"; };
6056
97B3CB2D17CD57910005E1A1 /* WYAnotherViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WYAnotherViewController.m; sourceTree = "<group>"; };
61-
97C0779E17D3C2DF006A19CE /* WYAnotherViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = WYAnotherViewController.xib; sourceTree = "<group>"; };
62-
97D5D8DA17E3AB7B00BD82C5 /* WYModalViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WYModalViewController.h; sourceTree = "<group>"; };
63-
97D5D8DB17E3AB7B00BD82C5 /* WYModalViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WYModalViewController.m; sourceTree = "<group>"; };
6457
97FA5C2C17D1A82E00F611A0 /* WYPopoverController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WYPopoverController.h; sourceTree = "<group>"; };
6558
97FA5C2D17D1A82E00F611A0 /* WYPopoverController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WYPopoverController.m; sourceTree = "<group>"; };
6659
97FA5C2E17D1A82E00F611A0 /* WYStoryboardPopoverSegue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WYStoryboardPopoverSegue.h; sourceTree = "<group>"; };
@@ -129,18 +122,14 @@
129122
97FA5C2B17D1A82E00F611A0 /* WYPopoverController */,
130123
976A344717BBAA4C0071BF21 /* WYSettingsViewController.h */,
131124
976A344817BBAA4C0071BF21 /* WYSettingsViewController.m */,
132-
976A344917BBAA4C0071BF21 /* WYSettingsViewController.xib */,
133125
976A343617BB9AEB0071BF21 /* WYAllDirectionsViewController.h */,
134126
976A343717BB9AEB0071BF21 /* WYAllDirectionsViewController.m */,
135127
97B3CB2C17CD57910005E1A1 /* WYAnotherViewController.h */,
136128
97B3CB2D17CD57910005E1A1 /* WYAnotherViewController.m */,
137-
97C0779E17D3C2DF006A19CE /* WYAnotherViewController.xib */,
138129
976A342517BB9AEB0071BF21 /* Supporting Files */,
139130
976A342D17BB9AEB0071BF21 /* WYAppDelegate.h */,
140131
976A342E17BB9AEB0071BF21 /* WYAppDelegate.m */,
141132
97635BC917D118A700B642AC /* WYStoryboard.storyboard */,
142-
97D5D8DA17E3AB7B00BD82C5 /* WYModalViewController.h */,
143-
97D5D8DB17E3AB7B00BD82C5 /* WYModalViewController.m */,
144133
);
145134
path = WYPopoverDemo;
146135
sourceTree = "<group>";
@@ -235,13 +224,11 @@
235224
976A343117BB9AEB0071BF21 /* Default.png in Resources */,
236225
976A343317BB9AEB0071BF21 /* Default@2x.png in Resources */,
237226
976A343517BB9AEB0071BF21 /* Default-568h@2x.png in Resources */,
238-
976A344B17BBAA4C0071BF21 /* WYSettingsViewController.xib in Resources */,
239227
9722D80417C1667E000D922B /* button-highlighted.png in Resources */,
240228
9722D80517C1667E000D922B /* button-highlighted@2x.png in Resources */,
241229
9722D80617C1667E000D922B /* button-normal.png in Resources */,
242230
9722D80717C1667E000D922B /* button-normal@2x.png in Resources */,
243231
97635BCA17D118A700B642AC /* WYStoryboard.storyboard in Resources */,
244-
97C0779F17D3C2DF006A19CE /* WYAnotherViewController.xib in Resources */,
245232
);
246233
runOnlyForDeploymentPostprocessing = 0;
247234
};
@@ -258,7 +245,6 @@
258245
976A344A17BBAA4C0071BF21 /* WYSettingsViewController.m in Sources */,
259246
97B3CB2F17CD57910005E1A1 /* WYAnotherViewController.m in Sources */,
260247
97FA5C3017D1A82E00F611A0 /* WYPopoverController.m in Sources */,
261-
97D5D8DD17E3AB7B00BD82C5 /* WYModalViewController.m in Sources */,
262248
97FA5C3117D1A82E00F611A0 /* WYStoryboardPopoverSegue.m in Sources */,
263249
);
264250
runOnlyForDeploymentPostprocessing = 0;

demos/Demo/WYPopoverDemo/WYAllDirectionsViewController.m

Lines changed: 37 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111

1212
@interface WYAllDirectionsViewController () <WYPopoverControllerDelegate>
1313
{
14-
WYPopoverController* popoverController;
14+
WYPopoverController* settingsPopoverController;
15+
WYPopoverController* anotherPopoverController;
1516
}
1617

1718
- (IBAction)showPopover:(id)sender;
@@ -52,21 +53,17 @@ - (void)viewDidLoad
5253

5354
- (IBAction)showPopover:(id)sender
5455
{
55-
if (popoverController == nil)
56+
if (settingsPopoverController == nil)
5657
{
5758
UIView* btn = (UIView*)sender;
5859

59-
WYSettingsViewController* settingsViewController = [[WYSettingsViewController alloc] init];
60+
WYSettingsViewController *settingsViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"WYSettingsViewController"];
6061

61-
if ([settingsViewController respondsToSelector:@selector(setPreferredContentSize:)])
62-
{
63-
// iOS 7
64-
settingsViewController.preferredContentSize = CGSizeMake(280, 200);
62+
if ([settingsViewController respondsToSelector:@selector(setPreferredContentSize:)]) {
63+
settingsViewController.preferredContentSize = CGSizeMake(280, 200); // iOS 7
6564
}
66-
else
67-
{
68-
// iOS < 7
69-
settingsViewController.contentSizeForViewInPopover = CGSizeMake(280, 200);
65+
else {
66+
settingsViewController.contentSizeForViewInPopover = CGSizeMake(280, 200); // iOS < 7
7067
}
7168

7269
settingsViewController.title = @"Settings";
@@ -76,27 +73,36 @@ - (IBAction)showPopover:(id)sender
7673

7774
UINavigationController* contentViewController = [[UINavigationController alloc] initWithRootViewController:settingsViewController];
7875

79-
popoverController = [[WYPopoverController alloc] initWithContentViewController:contentViewController];
80-
popoverController.delegate = self;
81-
popoverController.passthroughViews = @[btn];
82-
popoverController.popoverLayoutMargins = UIEdgeInsetsMake(10, 10, 10, 10);
83-
popoverController.wantsDefaultContentAppearance = NO;
84-
[popoverController presentPopoverFromRect:btn.bounds inView:btn permittedArrowDirections:WYPopoverArrowDirectionAny animated:YES];
85-
76+
settingsPopoverController = [[WYPopoverController alloc] initWithContentViewController:contentViewController];
77+
settingsPopoverController.delegate = self;
78+
settingsPopoverController.passthroughViews = @[btn];
79+
settingsPopoverController.popoverLayoutMargins = UIEdgeInsetsMake(10, 10, 10, 10);
80+
settingsPopoverController.wantsDefaultContentAppearance = YES;
81+
[settingsPopoverController presentPopoverFromRect:btn.bounds inView:btn permittedArrowDirections:WYPopoverArrowDirectionAny animated:YES];
8682
}
8783
else
8884
{
8985
[self done:nil];
9086
}
9187
}
9288

89+
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
90+
{
91+
if ([segue.identifier isEqualToString:@"AnotherPopoverSegue"])
92+
{
93+
WYStoryboardPopoverSegue *popoverSegue = (WYStoryboardPopoverSegue *)segue;
94+
anotherPopoverController = [popoverSegue popoverControllerWithSender:sender permittedArrowDirections:WYPopoverArrowDirectionAny animated:YES];
95+
anotherPopoverController.delegate = self;
96+
}
97+
}
98+
9399
#pragma mark - Selectors
94100

95101
- (void)done:(id)sender
96102
{
97-
[popoverController dismissPopoverAnimated:YES];
98-
popoverController.delegate = nil;
99-
popoverController = nil;
103+
[settingsPopoverController dismissPopoverAnimated:YES];
104+
settingsPopoverController.delegate = nil;
105+
settingsPopoverController = nil;
100106
}
101107

102108
#pragma mark - WYPopoverControllerDelegate
@@ -108,8 +114,16 @@ - (BOOL)popoverControllerShouldDismiss:(WYPopoverController *)controller
108114

109115
- (void)popoverControllerDidDismiss:(WYPopoverController *)controller
110116
{
111-
popoverController.delegate = nil;
112-
popoverController = nil;
117+
if (controller == settingsPopoverController)
118+
{
119+
settingsPopoverController.delegate = nil;
120+
settingsPopoverController = nil;
121+
}
122+
else if (controller == anotherPopoverController)
123+
{
124+
anotherPopoverController.delegate = nil;
125+
anotherPopoverController = nil;
126+
}
113127
}
114128

115129
#pragma mark - UIViewControllerRotation

demos/Demo/WYPopoverDemo/WYAnotherViewController.xib

Lines changed: 0 additions & 175 deletions
This file was deleted.

0 commit comments

Comments
 (0)