iDevelopper / PBRevealViewController

A UIViewController subclass for revealing a left and/or right view controller above or below a main view controller.
MIT License
80 stars 16 forks source link

Vertical position of left view #7

Closed schmidt9 closed 8 years ago

schmidt9 commented 8 years ago

Strange offset on iPhone 4s, iOS 6 (if hotspot is active, menu goes another 20px down) screen shot 2016-08-31 at 9 35 57_

On iPhone 6s (and other), iOS 9.3 simulator screen shot 31 2016 9 30 06_

iDevelopper commented 8 years ago

You know the status bar is handled completely differently from iOS 7 by Apple. Already, as I can not do the test on iOS 6, I give you an answer for iOS 7 ++:

Embed your table view controller in a navigation controller, and in the navigation controller scene, uncheck "Shows Navigation Bar":

2016-08-31_20-35-31

What is Hotspot?

schmidt9 commented 8 years ago

This flag is unchecked. Maybe problem is in my code bacause of manual frames adjusting... I'll check this

schmidt9 commented 8 years ago

for iOS 6 we can do following fix as an workaround, because iOS 6 seems not to respect aligning to top layout guide (y = 20px) and it gives frame.origin.y = 20 on iOS 6, while on 9.3 it gives 0. And if hotspot is active y = 40. Hotspot is internet sharing from phone via WiFi or USB. Extra line 20px appears under status bar, if it is active.

- (void)perform
{
    NSString *identifier = self.identifier;
    PBRevealViewController *rvc = self.sourceViewController;
    UIViewController *dvc = self.destinationViewController;

    CGRect frame = dvc.view.frame;
    frame.origin.y = 0; // fix for iOS 6
    dvc.view.frame = frame;

    if ([identifier isEqualToString:PBSegueMainIdentifier]) {
        [rvc addChildViewController:dvc];
        [dvc didMoveToParentViewController:rvc];
        rvc.mainViewController = dvc;
    }
    else if ([identifier isEqualToString:PBSegueLeftIdentifier]) {
        rvc.leftViewController = dvc;
    }
    else if ([identifier isEqualToString:PBSegueRightIdentifier]) {
        rvc.rightViewController = dvc;
    }
}
iDevelopper commented 8 years ago

Hi @schmidt9 ,

Can you test these changes with the 6.0 version of iOS and keep me informed? Still missing rotation.

Classes.zip

iDevelopper commented 8 years ago

I found an iPhone 4 running iOS 7.1.2. I'll try to make a downgrade to iOS 6.

schmidt9 commented 8 years ago

I think you could make a new branch and apply changes for iOS 6 there, if you do not want change master, this way I could see what changes exactly you made, then you could merge this branch into master

iDevelopper commented 8 years ago

Yes, but in the files I sent to you, there is a // TODO comment for all changes.

schmidt9 commented 8 years ago

Ok, I'll check it

iDevelopper commented 8 years ago

Hi @schmidt9 ,

Do you code in Objective-c or Swift? Do you use CocoaPods for PBRevealViewController or not?

Because I'am doing some tests with a device on 7.1.2, and if I do not use CocoaPods, all is OK, but if I use it to integrate PBRevealViewController in a project, I get the error:

dyld: Symbol not found: _OBJCCLASS$_UIBlurEffect Referenced from: /var/mobile/Applications/6EFBFB6A-1B18-401E-980E-BD3FFAD2C2D3/Example3Swift.app/Example3Swift Expected in: /System/Library/Frameworks/UIKit.framework/UIKit in /var/mobile/Applications/6EFBFB6A-1B18-401E-980E-BD3FFAD2C2D3/Example3Swift.app/Example3Swift

schmidt9 commented 8 years ago

I don't use CocoaPods, so I cannot say what's wrong there, sorry. I use Objective C.

schmidt9 commented 8 years ago

Currently have not much time to test code on iOS 6, hope to make it soon

iDevelopper commented 8 years ago

Ok, thank for reply. ++

iDevelopper commented 8 years ago

Hi @schmidt9 , I worked on iOS 6. When you have some time to test, I expect your feedback...

This is a sample project:

PBRevealiOS6.zip

schmidt9 commented 8 years ago

Ok. Could you say what exactly to test?

iDevelopper commented 8 years ago

The sample I posted and after your app but when you have time.

schmidt9 commented 8 years ago

I tested your project, everything seems to work

schmidt9 commented 8 years ago

I have not tried it in my app yet, maybe next days

iDevelopper commented 8 years ago

Thanks a lot!

schmidt9 commented 8 years ago

Hello @iDevelopper I tested class from the sample project in my app, it works as expected, will you merge these changes to main branch?

iDevelopper commented 8 years ago

Hello @schmidt9 , Yes, I await your response. I'll do it this afternoon.

iDevelopper commented 8 years ago

Done, pushed to master branch.

schmidt9 commented 8 years ago

Thank you much!