2013-10-24 19 views
18

私はIOS 7アプリケーションに取り組んでいます。デフォルトではPic(1)のように見えますが、Pic(2)として変更する必要があります。要件をいくつか回答しましたが、変更されていません。私はit.Butのdidntが成功変更するためのコードの下に使用された最初の画像がIOS 7のUISearchBarで拡大鏡アイコンの位置や非表示を変更するにはどうすればよいですか?

Pic(1)

enter image description here

である私は、バックグラウンドimage.Thisで管理できることをhide.Soする必要があります。 .Mファイルは.hファイルで

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

@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; 
} 

} 

私は本当に私のtime.Pleaseヘルプを殺害nil.Itsにビューの画像の中心を作る方法を取得しておりません私は間違っていた。

+0

を迅速-3のために参照してください。http://stackoverflow.com/questions/19289406/uisearchbar-search-icon-isnot-left-aligned-in-ios7/41976067# 41976067 – Shrawan

答えて

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; 

これはそれをuを助けるかもしれ試し........

+0

それは働いた..おかげで: – iSwaroop

+0

RGBカラーを適用している場合、それは動作しません – iSwaroop

+0

RGBカラーを設定するのではなく、背景イメージを設定しようとします。 – Hari1251

9

を私はプレースホルダを左揃えするかどうかはわかりませんが、シンプルがありますのiOS 5.0のように、サポート検索バーのテキストフィールドのプロパティを変更する方法:

[[UITextField appearanceWhenContainedIn:[UISearchBar class], nil] setLeftViewMode:UITextFieldViewModeNever]; 

これは、虫めがねのアイコンを非表示にします。

+1

ゴードン結び目をカットアップするUpvote!なぜ、UISearchBarは非常に困難(修辞的)でなければならないのですか? –

0

あなたは試みることができる:

searchBar.setImage(UIImage(named: "yourimage")!, forSearchBarIcon: UISearchBarIcon.Clear, state: UIControlState.Normal) 
関連する問題