Wednesday 4 December 2013

iOS custom backspace button to clear UITextField text

iOS custom backspace button to clear UITextField- (void)viewDidLoad
{
    [super viewDidLoad];
   
    UIButton *clear_Butoon=[[UIButton alloc]initWithFrame:CGRectMake(10,10,45,25)];
   
    [clear_Butoon setTitle:@"Clear" forState:UIControlStateNormal];
   
    [self.view addSubview:clear_Butoon];
   
   
    UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc]
                                               initWithTarget:self
                                               action:@selector(handleLongPress:)];
   
   
    [messageviewer_btn addGestureRecognizer:longPress];
   
}

- (void)handleLongPress:(UILongPressGestureRecognizer *)gesture
{
  
  
    if(UIGestureRecognizerStateBegan == gesture.state)
    {
      // Called on start of gesture, do work here 
      cTime = [NSTimer scheduledTimerWithTimeInterval: 0.1 target: self selector: @selector(clearTextField) userInfo: nil repeats: YES];
            
    }
   
    if(UIGestureRecognizerStateChanged == gesture.state)
    {
      // Do repeated work here (repeats continuously) while finger is down
    }
   
    if(UIGestureRecognizerStateEnded == gesture.state)
    {
        // Do end work here when finger is lifted
        [cTime invalidate];
    }
}


-(void)clearTextField
{
  
    UITextRange *deleteRange =txtText.selectedTextRange;
  
    NSInteger offset = [txtText offsetFromPosition:txtText.beginningOfDocument toPosition:deleteRange.start];
  
    NSLog(@"%d",offset);
  
    if (txtText.text.length>0)
    {
         NSString *str=txtText.text;

        if (offset==0)
        {
          
        }else
        {
          str = [str stringByReplacingCharactersInRange:NSMakeRange((offset-1), 1) withString:@""];
        }
    
        UITextRange *selectedRange = [txtText selectedTextRange];
      
        // Calculate the existing position, relative to the end of the field (will be a - number)
        int pos = [txtText offsetFromPosition:txtText.endOfDocument toPosition:selectedRange.start];
      
        txtText.text=str;
      
        // Work out the position based by offsetting the end of the field to the same
        // offset we had before editing
        UITextPosition *newPos = [txtText positionFromPosition:txtText.endOfDocument offset:pos];
      
        // Reselect the range, to move the cursor to that position
        txtText.selectedTextRange = [txtText textRangeFromPosition:newPos toPosition:newPos];
    }

}   
  
   
}

Monday 18 November 2013

how to post json string to .net webservice through POST method in objective C (Xcode)

NSString *jsonStr=@"{\"email\":\"xxx@gmail.com\",\"pwd\":\"xxx\"}";
   
   
    NSData *postData = [jsonStr dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];
   
    NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
   
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
    [request setURL:[NSURL URLWithString:@"Your URL"]];
    [request setHTTPMethod:@"POST"];
    [request setValue:postLength forHTTPHeaderField:@"Content-Length"];
    [request setValue:@"application/json;charset=UTF-8" forHTTPHeaderField:@"Content-Type"];
    [request setHTTPBody:postData];
   
   
    NSURLResponse *response;
   
    NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];
   
    NSString *responseStr = [[NSString alloc] initWithBytes:[responseData bytes] length:[responseData length] encoding: NSUTF8StringEncoding];