简单的iPad问题 - Safari浏览器 - 谷歌搜索栏

问题描述:

我试图创建一个类似于在iPad上Safari浏览器中的搜索栏。我认为它只是一个UITextview。 单击控件时,其大小将扩大。当方向旋转时,它会相应地保持尺寸。 如何使用自动调整大小选项来实现该功能?还是我必须手动编写代码才能实现它?简单的iPad问题 - Safari浏览器 - 谷歌搜索栏

您可以直接在Interface Builder中完成所有操作。

搜索栏组件为您提供了相应的功能。要使条形图正确调整大小,只需将其锚定到屏幕的适当边,并使其具有可伸缩性。例如,尝试用IB打开this file

Use the below code to your controller and make sure the you have a textfield delegate. 

- (void)textFieldDidBeginEditing:(UITextField *)textField 
{ 
    UIInterfaceOrientation orientation = self.interfaceOrientation; 
    if (orientation== UIInterfaceOrientationPortrait || orientation == UIInterfaceOrientationPortraitUpsideDown) { 

     if(textField==searchField){ 


      CGRect searchFrame = searchField.frame; 
      searchFrame.size.width += 150; 
      searchFrame.origin.x -= 150; 


      [UIView beginAnimations: @"GrowTextField" context: nil]; 
      { 
       searchField.frame = searchFrame; 
       [UIView setAnimationDuration: 0.5]; 
      } 
      [UIView commitAnimations]; 
     } 


    } 

    else if(orientation == UIInterfaceOrientationLandscapeLeft || orientation == UIInterfaceOrientationLandscapeRight) 
    {  
     if(textField==searchField){ 


      CGRect searchFrame = searchField.frame; 
      searchFrame.size.width += 150; 
      searchFrame.origin.x -= 150; 

      [UIView beginAnimations: @"GrowTextField" context: nil]; 
      { 
       searchField.frame = searchFrame; 
       [UIView setAnimationDuration: 0.5]; 
      } 
      [UIView commitAnimations]; 
     } 
    } 

} 



- (void)textFieldDidEndEditing:(UITextField *)textField{ 
    UIInterfaceOrientation orientation = self.interfaceOrientation; 
    if (orientation== UIInterfaceOrientationPortrait || orientation == UIInterfaceOrientationPortraitUpsideDown) { 
     if(textField==searchField){ 

      CGRect searchFrame = searchField.frame; 
      searchFrame.size.width -= 150; 
      searchFrame.origin.x += 150; 


      [UIView beginAnimations: @"ShrinkTextField" context: nil]; 
      { 
       searchField.frame = searchFrame; 
       [UIView setAnimationDuration: 0.5]; 
      } 
      [UIView commitAnimations]; 

     } 


    } 

    else if(orientation == UIInterfaceOrientationLandscapeLeft || orientation == UIInterfaceOrientationLandscapeRight) 
    {  

     if(textField==searchField){ 

      CGRect searchFrame = searchField.frame; 
      searchFrame.size.width -= 150; 
      searchFrame.origin.x += 150; 


      [UIView beginAnimations: @"ShrinkTextField" context: nil]; 
      { 
       searchField.frame = searchFrame; 
       [UIView setAnimationDuration: 0.5]; 
      } 
      [UIView commitAnimations]; 

     } 
    } 


}