Skip to content
This repository was archived by the owner on Jun 26, 2024. It is now read-only.

abdultcb/PTPasscodeViewController

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 

Repository files navigation

PTPasscodeViewController

Want a Passcode view for your iPhone/iPod project ? Here's how to add a PTPasscodeViewController on your project with a few lines of code.

[[/images/Passcode1.png]] [[/images/Passcode2.png]] [[/images/Passcode3.png]]

How to use

  1. Copy PTPasscodeViewController.m and PTPasscodeViewController.h files to your source tree and add it to XCode project.
  2. Import "PTPasscodeViewController.h" from your code.
  3. Implement PTPasscodeViewControllerDelegate protocol.

Just #import the PTPasscodeViewController.h header

#import "PTPasscodeViewController.h"

Simple example of how to create PTPasscodeViewController:

PTPasscodeViewController *passcodeViewController = [[PTPasscodeViewController alloc] initWithDelegate:self];

UINavigationController *navController = [[UINavigationController alloc]
                             initWithRootViewController:passcodeViewController];

[self setNavigationController:navController];

[window addSubview:[navController view]];
[window makeKeyAndVisible];

[window release];
[navController release];

Your class will have to implement the PTPasscodeViewControllerDelegate protocol, and to implement the didShowPasscodePanel:panelView:, shouldChangePasscode:panelView:passCode:lastNumber: and didEndPasscodeEditing:panelView:passCode: methods from this protocol:

- (void)didShowPasscodePanel:(PTPasscodeViewController *)passcodeViewController panelView:(UIView*)panelView
{
    [passcodeViewController setTitle:@"Set Passcode"];
    
    if([panelView tag] == kPasscodePanelOne) {
       [[passcodeViewController titleLabel] setText:@"Enter a passcode"];
    }

    if([panelView tag] == kPasscodePanelTwo) {
        [[passcodeViewController titleLabel] setText:@"Re-enter your passcode"];
    }

    if([panelView tag] == kPasscodePanelThree) {
        [[passcodeViewController titleLabel] setText:@"Panel 3"];
    }
}

- (BOOL)shouldChangePasscode:(PTPasscodeViewController *)passcodeViewController panelView:(UIView*)panelView passCode:(NSUInteger)passCode lastNumber:(NSInteger)lastNumber;
{
    // Clear summary text
    [[passcodeViewController summaryLabel] setText:@""];

    return TRUE;
}

- (BOOL)didEndPasscodeEditing:(PTPasscodeViewController *)passcodeViewController panelView:(UIView*)panelView passCode:(NSUInteger)passCode
{
    
    NSLog(@"END PASSCODE - %d", passCode);
    
    if([panelView tag] == kPasscodePanelOne) {
        _passCode = passCode;
        
        return ![passcodeViewController nextPanel];
    }

    if([panelView tag] == kPasscodePanelTwo) {
        _retryPassCode = passCode;
        
        if(_retryPassCode != _passCode) {
            [passcodeViewController prevPanel];
            [[passcodeViewController summaryLabel] setText:@"Passcode did not match. Try again."];
            return FALSE;
        } else {
            [[passcodeViewController summaryLabel] setText:@"Good boy !"];    
        }
        
    }
    
    return TRUE;
}

Class References

PTPasscodeViewController

initWithDelegate

-(id)initWithDelegate:(id)delegate

Initializes a PTPasscodeViewController.

titleLabel

UILabel *titleLabel

The label used for the Passcode title.

summaryLabel

UILabel *summaryLabel

The label used to show a summary text of the Passcode.

clearPanel

- (void)clearPanel

Reset current panel passcode view.

prevPanel

-(BOOL)prevPanel

Switch to the previous passcode panel.

nextPanel

-(BOOL)nextPanel

Switch to the next passcode panel.

About

Passcode view controller for iPhone/iPod.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Objective-C 100.0%