Skip to main content


Showing posts from 2015

Sign in validations in Objective V

- (BOOL)validatePhoneNumber:(NSString *)phoneStr {
    NSString *phoneRegex = @"[789][0-9]{9}";
    NSPredicate *test = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", phoneRegex];
    BOOL matches = [test evaluateWithObject:phoneStr];
    return matches;

- (BOOL)validateEmail:(NSString *)emailStr {
    NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
    NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
    return [emailTest evaluateWithObject:emailStr];

// This method is use to Validate an URL - (BOOL)isValidUrl {     NSString *regex =@"(http|https)://((\\w)*|([0-9]*)|([-|_])*)+([\\.|/]((\\w)*|([0-9]*)|([-|_])*))+";     NSPredicate *urlTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];     return [urlTest evaluateWithObject:self]; }
// This method is use to Validate an Name - (BOOL)isValidName {     NSCharacterSet * chars = [NSCharacterSetcharacterSetWi…

Youtube player view in iOS

#pragma mark - UIWebViewFactory
+ (UIWebView *)youtubePlayerViewWithFrame:(CGRect)frame andURLString:(NSString *)URLString { UIWebView *videoView = [[UIWebViewalloc] initWithFrame:frame];     videoView.backgroundColor = [UIColorclearColor];     videoView.opaque = NO; NSString *videoHTML = [NSStringstringWithFormat:@"\                            <html>\                            <head>\                            <style type=\"text/css\">\                            iframe {position:absolute; top:0; margin-top:0px;}\                            body {background-color:#000; margin:0;}\                            </style>\                            </head>\                            <body>\                            <iframe width=\"%0.0f\" height=\"%0.0f\" src=\"%@\" frameborder=\"0\" allowfullscreen></iframe>\                            </body>\                            </html>",…

UITable view cell dynamic height - ios7 and above

To set the dynamic height of custom table view cell without creating IBOutlet of height constraint, follow the below code: 

@Interface __weakIBOutletUITableView *tblView; @property (nonatomic, strong) DataViewCustomCell *prototypeCell;

#pragma mark - PrototypeCell - (DataViewCustomCell *)prototypeCell { if (!_prototypeCell) { _prototypeCell = [[[NSBundlemainBundle]loadNibNamed:@"DataViewCustomCell"owner:selfoptions:nil] lastObject];     } return_prototypeCell; }
#pragma mark - Configure
//Here I put the dummy static string on lblDetailLabel. You can put here the dynamic string

- (void)configureCell:(DataViewCustomCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { if (indexPath.row==0)     {         cell.lblTitle.text = @"Mobile Insights - Entertainment Report";         cell.unitedStatsTextLbl.text = @"United States, Q2, 2014";         cell.lblDetailLabel.text = @"The entertainment industry is a diverse industry covering a wide range of sectors like …

Save value in keychain - iOS application

Login and sign up activity is very common in every ios application. Most of the applications follow single sign in process. Single sign in means user have to login only once. Generally developers tend to save values(username, password) in user default. When user delete the application, the values stored in the NSUserDefault also vanishes, then user have to sign in again.

Alternative to NSUserDefault, which save values permanently in keychain:-

Grab the four files (.h and .m) PDKeychainBindingsController folder and add them to your xCode project.Import the header file. #import "PDKeychainBindings.h"
Set object:-
        [[PDKeychainBindingssharedKeychainBindings] setObject:@"Pardeep"forKey:@"key_name"];
Get object from key:-
NSString *folderPath=[[PDKeychainBindingssharedKeychainBindings] objectForKey:@"key_name"];

Remove object:             [[PDKeychainBindingssharedKeychainBindings] removeObjectForKey:@"key_name"];


If you are getti…