18

私はIOS 7アプリケーションに取り組んでいます。デフォルトでは、Pic(1)のように表示されます。ただし、Pic(2)として変更する必要があります。グーグルで検索したところ、要件に対する回答はほとんど見つかりませんでしたが、変更されていません。非表示にします。背景画像で管理できるようにします。これが最初の画像です

写真(1)

ここに画像の説明を入力

以下のコードを使用して変更しましたが、成功しませんでした。

.h ファイル内

@property(nonatomic,strong) IBOutlet UISearchBar *findSearchBar;

.m ファイル内

@synthesize findSearchBar;

 - (void)viewDidLoad
 {
[super viewDidLoad];
 [self setSearchIconToFavicon];
 }

 - (void)setSearchIconToFavicon
{
// The text within a UISearchView is a UITextField that is a subview of that UISearchView.
   UITextField *searchField;
   for (UIView *subview in self.findSearchBar.subviews)
   {
       if ([subview isKindOfClass:[UITextField class]]) {
          searchField = (UITextField *)subview;
          break;
      }
  }

if (searchField)
{
    UIView *searchIcon = searchField.leftView;
    if ([searchIcon isKindOfClass:[UIImageView class]])
    {
        NSLog(@"aye");
    }
    searchField.rightView = nil;
    searchField.leftView = nil;
    searchField.leftViewMode = UITextFieldViewModeNever;
    searchField.rightViewMode = UITextFieldViewModeAlways;
}

}

ビューの画像の中心をゼロにする方法がわかりません。本当に時間がかかります。助けてください。どこが間違っていたのですか。

4

3 に答える 3

12
    UITextField *txfSearchField = [looksearchbar valueForKey:@"_searchField"];
    [txfSearchField setBackgroundColor:[UIColor whiteColor]];
    [txfSearchField setLeftViewMode:UITextFieldViewModeNever];
    [txfSearchField setRightViewMode:UITextFieldViewModeNever];
    [txfSearchField setBackground:[UIImage imageNamed:@"searchbar_bgImg.png"]];
    [txfSearchField setBorderStyle:UITextBorderStyleNone];
    //txfSearchField.layer.borderWidth = 8.0f;
    //txfSearchField.layer.cornerRadius = 10.0f;
    txfSearchField.layer.borderColor = [UIColor clearColor].CGColor;
    txfSearchField.clearButtonMode=UITextFieldViewModeNever;

これを試してみてください。

于 2013-10-24T13:47:43.540 に答える