2010-07-06 19 views
7

मैं शीर्ष पर गोलाकार कोनों के साथ UIToolbar प्रदर्शित करना चाहता हूं, सबसे आसान तरीका क्या होगा? टूलबार विंडो पर शीर्ष-गठबंधन नहीं है; यह चारों ओर एक मार्जिन है। धन्यवाद!गोलाकार कोनों के साथ UIToolbar

उत्तर

16

बहुत आसान।

सबसे पहले - अपने व्यू कंट्रोलर की अपनी .h फ़ाइल में UIToolbar का आईबीओलेटलेट वैरिएबल है। उदाहरण के लिए ।

@interface TextFormattedViewController : UIViewController { 
    IBOutlet UIToolbar *tBar; 
} 

अब आपके विचार नियंत्रक फ़ाइल के अपने मीटर फ़ाइल में सिर्फ यह आप के लिए एक जादू के रूप में काम करेंगे कोड & निम्नलिखित जगह। हालांकि- अगर कोई प्रश्न पूछें तो टिप्पणी जोड़ें।

#import "TextFormattedViewController.h" 
#import <QuartzCore/QuartzCore.h> 
@implementation TextFormattedViewController 
- (void)viewDidLoad { 
    // following statement is must. 
    tBar.clipsToBounds=YES; 
    CALayer *l=tBar.layer; 
    // set corner radious 
    [l setCornerRadius:10]; 
    // to apply border on corners 
    [l setBorderColor:[[UIColor redColor] CGColor]]; 
    // to apply set border width. 
    [l setBorderWidth:5.0]; 
} 
+1

आपके महान सुझाव के लिए धन्यवाद चीनी! सर्वोत्तम रूप से देखने के लिए हम केवल सेटकॉर्नर रेडियस को बदल सकते हैं (और दो अंतिम कॉल छोड़ सकते हैं)। यह अच्छा एंटीअलाइज्ड गोल कोनों का उत्पादन करता है। हालांकि सभी चार कोनों गोलाकार हैं ... – rjobidon

2

एक दृश्य के कोनों को गोल करने का सबसे आसान तरीका cornerRadius (और masksToBounds) CALayer की संपत्ति के साथ है। हालांकि, इसके साथ ही आपके पास सभी कोनों को समान रूप से गोल करने का विकल्प होता है। उस प्रॉपर्टी का उपयोग करने के लिए, आप UIToolbar को किसी अन्य दृश्य में डाल सकते हैं जो टूलबार से लंबा था, इसलिए केवल शीर्ष गोलाकार था। यह अच्छा काम करेगा अगर एक और दृश्य नीचे कोने गोलाकार होगा।

मनमानी आकार को देखने के लिए सबसे आसान तरीका maskCALayer की संपत्ति को CAShapeLayer पर सेट करना है। अपने मामले में, CGPathAddLineToPoint और CGPathAddArcToPoint का उपयोग करके CGPath बनाएं या केवल शीर्ष कोनों को गोलाकार करने के समान ही बनाएं।

+0

+1 मास्किंग के बारे में टिप के लिए +1। – Anton

संबंधित मुद्दे