2015-10-09 7 views
10

में दायां दृश्य जोड़ें मैं एक बटन पर कुछ पाठ और एक छवि प्रदर्शित करने की कोशिश कर रहा हूं। मैं से hereUIButton

let btnSort = UIButton.buttonWithType(UIButtonType.System) as! UIButton 
    btnSort.frame = CGRectMake(2, 74, 140, 26) 
    btnSort.tintColor = UIColor.whiteColor() 
    btnSort.setImage(UIImage(named:"immgg"), forState: UIControlState.Normal) 
    btnSort.imageEdgeInsets = UIEdgeInsets(top: 6,left: 100,bottom: 6,right: 14) 
    btnSort.titleEdgeInsets = UIEdgeInsets(top: 0,left: -30,bottom: 0,right: 34) 
    btnSort.setTitle("SORT", forState: UIControlState.Normal) 
    btnSort.layer.borderWidth = 1.0 
    btnSort.layer.borderColor = UIColor.whiteColor().CGColor 
    btnSort.addTarget(self, action: Selector("showSortTbl"), forControlEvents: UIControlEvents.TouchUpInside) 
    self.view.addSubview(btnSort) 

कोड का उपयोग कर रहा मैं सही जगह पर छवि देख सकते हैं, फिर भी पाठ दिखाई दे रहा है। मुझे लगता है कि titleEdgeInsets काम नहीं कर रहा है।

उत्तर

22

मैंने जिस कोड की कोशिश की, मुझे आउटपुट मिला कि समस्या यू का सामना करना पड़ा।

btnSort.backgroundColor = UIColor.redColor() -> पृष्ठभूमि रंग सेट और जाँच

let btnSort = UIButton(type: UIButtonType.System) as UIButton! //this is Swift2.0 in this place use your code 
    btnSort.frame = CGRectMake(2, 74, 140, 40) 
    btnSort.tintColor = UIColor.whiteColor() 
    btnSort.setImage(UIImage(named:"youtube16x16.png"), forState: UIControlState.Normal) 
    btnSort.imageEdgeInsets = UIEdgeInsets(top: 6,left: 100,bottom: 6,right: 14) 
    btnSort.titleEdgeInsets = UIEdgeInsets(top: 0,left: -30,bottom: 0,right: 34) 
    btnSort.setTitle("SORT", forState: UIControlState.Normal) 
    btnSort.layer.borderWidth = 1.0 
    btnSort.backgroundColor = UIColor.redColor() --> set the background color and check 
    btnSort.layer.borderColor = UIColor.whiteColor().CGColor 
    btnSort.addTarget(self, action: Selector("showSortTbl"), forControlEvents: UIControlEvents.TouchUpInside) 
    self.view.addSubview(btnSort) 

Swift3

let btnSort = UIButton(type: .system) 
    btnSort.frame = CGRect(x: 2, y: 74, width: 140, height: 40) 
    btnSort.tintColor = UIColor.white 
    btnSort.setImage(UIImage(named:"youtube16x16.png"), for: .normal) 
    btnSort.imageEdgeInsets = UIEdgeInsets(top: 6,left: 100,bottom: 6,right: 14) 
    btnSort.titleEdgeInsets = UIEdgeInsets(top: 0,left: -30,bottom: 0,right: 34) 
    btnSort.setTitle("SORT", for: .normal) 
    btnSort.layer.borderWidth = 1.0 
    btnSort.backgroundColor = UIColor.red //--> set the background color and check 
    btnSort.layer.borderColor = UIColor.white.cgColor 
    btnSort.addTarget(self, action: #selector(ViewController.showSortTbl), for: UIControlEvents.touchUpInside) 
    self.view.addSubview(btnSort) 

और संभाल के रूप में

func showSortTbl() { 
    // do your stuff here 

} 

उत्पादन

कार्रवाई

enter image description here

+0

गंभीरता से, मुझे नहीं पता कि समस्या क्या है हालांकि मुझे अभी भी यह नहीं मिल रहा है। मैंने लाल रंग के साथ जांच की। क्या इसके पास समस्या है क्योंकि मैं स्विफ्ट 1.2 का उपयोग कर रहा हूं? – Saty

+0

@Saty - मैं बस अपने बटन का पृष्ठभूमि रंग जोड़ता हूं और चेक करता हूं कि मैंने जवाब भी दिखाया, आरयू ने अद्यतन उत्तर –

+0

को आजमाया जब मैं छवि को हटाता हूं, तो मुझे टेक्स्ट दिखाई देता है, मैं UIButton.buttonWithType (UIButtonType.System) का उपयोग कर रहा हूं। जैसा! UIButton के रूप में मैं तेजी से 1.2 का उपयोग कर रहा हूँ। मुझे लगता है कि यह समस्या – Saty

0

केवल पृष्ठभूमि रंग सेट करें और अपने पाठ प्रदर्शित:

let btnSort = UIButton(type: UIButtonType.System) as UIButton // Shift 2.0 

btnSort.backgroundColor = UIColor.yellowColor() 

या

btnSort.setTitleColor(UIColor.greenColor(), forState: UIControlState.Normal) 
0

कृपया नीचे दिए गए कोड की जाँच करें।

आशा है कि यह आपके लिए काम करेगा।

let teamImage: UIButton = UIButton(frame: CGRect(x: 0, y: 75, width: 100, height: 50)) 
let imageTest = UIImage(named: "immgg") 

teamImage.setTitle("HypnotoadTitle", forState: .Normal) 
teamImage.setBackgroundImage(imageTest, forState: .Normal) 
self.view.addSubview(teamImage)