2013-10-24 5 views
18

मैं आईओएस 7 एप्लिकेशन पर काम कर रहा हूं। डिफ़ॉल्ट रूप से यह तस्वीर (1) जैसा दिख रहा है। लेकिन मुझे इसे Pic (2) के रूप में बदलने की ज़रूरत है। मैं गुग हो गया और आवश्यकता के लिए कुछ जवाब पाये, लेकिन यह नहीं बदला है। अन्यथा मैं hide.So है कि मैं पृष्ठभूमि image.This साथ प्रबंधित कर सकते की जरूरत है पहली छविआईओएस 7 में UISearchBar में स्थिति को बदलने या छिपाने वाले आइकन को कैसे बदलें?

Pic(1)

enter image description here

मैं नीचे दिए गए कोड को संशोधित करने के लिए प्रयोग किया जाता है.लेकिन सफल होने के फ्लॉप है।

मीटर फ़ाइल में ज फ़ाइल

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

यह यू में मदद मिलेगी हो सकता है

+0

यह काम किया .. धन्यवाद :) – iSwaroop

+0

लेकिन अगर मैं आरजीबी रंग – iSwaroop

+0

लागू कर रहा हूं तो यह काम नहीं कर रहा है, इसके लिए आरजीबी रंग सेट करने के बजाय पृष्ठभूमि छवि सेट करने का प्रयास करें। – Hari1251

9

प्रयास करें ........ मुझे यकीन है कि कैसे प्लेसहोल्डर बाएँ संरेखित करने के लिए नहीं कर रहा हूँ, लेकिन iOS 5.0 के रूप में वहाँ एक आसान है, का समर्थन किया खोज बार के टेक्स्ट फ़ील्ड गुणों को संशोधित करने का तरीका, उदाहरण:

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

जो आवर्धक ग्लास आइकन छुपाएगा।

+1

गॉर्डियन गांठ काटने के लिए उपरोक्त! UISearchBar के साथ इतना कठिन (उदारवादी) क्यों होना चाहिए? –

0

आप की कोशिश कर सकते:

searchBar.setImage(UIImage(named: "yourimage")!, forSearchBarIcon: UISearchBarIcon.Clear, state: UIControlState.Normal) 
संबंधित मुद्दे