Thursday, June 14, 2012

Add Views to UIAlertView


1. Create UIAlertView with buttons using UIAlertView initWithTitle methods with buttons.
2. create the views wich you wish and add it to AlertView using addSubView: methods.
3. use below delegate method to organize your views.
     - (void)willPresentAlertView:(UIAlertView *)alertView

// create alertView
-(void)configureAlert{
     alertView = [[UIAlertView alloc] initWithTitle:@"Tittle" message:@"message" delegate:self                                    
cancelButtonTitle:@"Cancel" otherButtonTitles:@"Ok",nil];
     textField = [[UITextField alloc] initWithFrame:CGRectMake(12, 86, 262, 28)];
     [textField becomeFirstResponder];
     [textField setPlaceholder:@"Password"];
     [textField setReturnKeyType:UIReturnKeyDone];  
     [textField setInputAccessoryView:customAccView1];
     [textField setFont:[UIFont fontWithName:@"Helvetica Neue" size:18]];
     [textField setContentMode:UIViewContentModeBottom];
     [textField setBackgroundColor:[UIColor whiteColor]];
     // vertical alignment of text in textField
     [textField setContentVerticalAlignment:UIControlContentVerticalAlignmentCenter];
     [alertView textField];
     [alertView show];
}

- (void)willPresentAlertView:(UIAlertView *)alertView { 
          [alertView setFrame:CGRectMake(17, 30, 286, 188)];
          NSArray *subviewArray = [alertView subviews];
          UILabel *label = (UILabel *)[subviewArray objectAtIndex:2];
          [label setFrame:CGRectMake(10, 46, 260, 20)];
          UIButton *buttonOk = (UIButton *)[subviewArray objectAtIndex:4];
          [buttonOk setFrame:CGRectMake(10, 130, 128, 42)];
           UIButton *buttonCancel = (UIButton *)[subviewArray objectAtIndex:3];
          [buttonCancel setFrame:CGRectMake(148, 130, 128, 42)]; 
}

   
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
     // button actions
}

Wednesday, June 13, 2012

Transparent UIWebView

To transparent the UIWebView and remove the scrolls.

webView.opaque = NO;
webView.backgroundColor = [UIColor clearColor];
for(UIView *view in webView.subviews){ 
     if ([view isKindOfClass:[UIImageView class]]) {
          // to transparent 
          [view removeFromSuperview];
     }
     if ([view isKindOfClass:[UIScrollView class]]) {
          UIScrollView *sView = (UIScrollView *)view;
          //to hide verticalScroller
          sView.showsVerticalScrollIndicator = NO;
          for (UIView* shadowView in [sView subviews]){
               //to remove shadow
               if ([shadowView isKindOfClass:[UIImageView class]]) {
                    [shadowView setHidden:YES];
               }
          }
     }
}

Tuesday, June 12, 2012

iPhone application lifecycle

Here is an interesting article about iPhone's application lifecycle that I came across.

http://www.codeproject.com/KB/iPhone/ApplicationLifeCycle.aspx

Export and import contacts to iPhone contacts database


Export....
ABAddressBookRef addressBook = ABAddressBookCreate();
ABRecordRef person = ABPersonCreate();
CFErrorRef anError = NULL;
ABRecordSetValue(person, kABPersonFirstNameProperty, @"Don Juan", NULL);
ABAddressBookAddRecord (addressBook,person,nil);
ABAddressBookSave(addressBook, &anError);

Import....
ABAddressBookRef addressBook = ABAddressBookCreate();
int noOfPerson = ABAddressBookGetPersonCount(addressBook);
NSMutableArray *allPeople = (NSMutableArray *)ABAddressBookCopyArrayOfAllPeople(addressBook);
for(int i=0; i < noOfPerson; i++ ){
ABRecordRef person = [allPeople objectAtIndex:i];
if(ABRecordCopyValue(person, kABPersonEmailProperty) != NULL){  // Checks if email for the contact exists

}
NSString *firstName;
if(ABRecordCopyValue(person, kABPersonFirstNameProperty) != NULL){
firstName = [[NSString stringWithFormat:@"%@", ABRecordCopyValue(person, kABPersonFirstNameProperty)] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
NSLog(@"%@",firstName);
}

NSString *lastName;
if(ABRecordCopyValue(person, kABPersonLastNameProperty) != NULL){
lastName = [[NSString stringWithFormat:@"%@", ABRecordCopyValue(person, kABPersonLastNameProperty)] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
NSLog(@"---%@ ",lastName);
}
}



Friday, August 26, 2011

From NSData to CFDataRef


NSData *imageData = UIImagePNGRepresentation(originalImage);
CFDataRef cfdata = CFDataCreate(NULL, [imageData bytes], [imageData length]);

Friday, July 1, 2011

How to set new object properly in objective C

create new object without memory leak.


AnyObject *myObject = [[AnyObject alloc] init]; 
something.property = myObject;
[myObject release]; // no leaks!

Wednesday, June 1, 2011

Bit & Byte difference

For sign digit ]]]]]]]]]]......  -2ˆ(n-1) <<<<<<<>>>>>>>2ˆ(n-1)-1
For unSign digit ]]]]]]......  0<<<<<<<<<<<>>>>>>>>2ˆn-1;
for n dighit divide circle for 2ˆn parts..