Je travaille sur IOS 7 application.Par défaut, il apparaît sous la forme Pic (1) .Mais je dois le changer en tant que Pic (2) .J'ai cherché Google et trouvé peu de réponses à l'exigence, mais cela n'a sinon, j'ai besoin de me cacher. Je peux donc gérer avec l'image d'arrière-plan. C'est la première image
J'ai utilisé le code ci-dessous pour le modifier.Mais je n'ai pas réussi.
Dans le fichier .h
@property(nonatomic,strong) IBOutlet UISearchBar *findSearchBar;
Dans le fichier .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;
}
}
Je n'arrive pas à faire en sorte que le centre de l'image soit à zéro. Cela tue vraiment mon temps. Aidez-moi s'il vous plaît. Là où j'avais mal tourné.
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;
Essayez ceci peut être que cela vous aidera ........
Je ne sais pas comment aligner à gauche l'espace réservé, mais depuis iOS 5.0, il existe une méthode simple et prise en charge pour modifier les propriétés du champ de texte de la barre de recherche, par exemple:
[[UITextField appearanceWhenContainedIn:[UISearchBar class], nil] setLeftViewMode:UITextFieldViewModeNever];
qui cachera l'icône en forme de loupe.
Tu pourrais essayer:
searchBar.setImage(UIImage(named: "yourimage")!, forSearchBarIcon: UISearchBarIcon.Clear, state: UIControlState.Normal)