हां वहाँ है!
पर विचार करें कि हम एक सेगमेंट में बंटे नियंत्रण 3 अनुभाग हैं कि:
वास्तव में, यह एक दृश्य है जिसमें 3 subviews
होता है, UISegment
के रूप में आपके द्वारा लिखा गया है।
class ViewController: UIViewController {
// MARK:- IBOutlets
@IBOutlet weak var segmentedControl: UISegmentedControl!
override func viewDidLoad() {
super.viewDidLoad()
for view in segmentedControl.subviews {
print(view)
}
}
}
लॉग में कुछ इसी तरह प्रदर्शित करना चाहिए:: हम मुद्रित करने के लिए इस विभाजित नियंत्रण subviews (यह मानते हुए कि हम इसे के रूप में segmentedControl
IBOutlet वांछित दृश्य नियंत्रक से जुड़ा) का प्रयास करें
UISegment: 0x7febebc06980; फ्रेम = (22 9 0; 114 2 9); परत = कैलियर: 0x60000002edc0 यूआईसेजमेंट: 0x7febebe140c0; फ्रेम = (114 0; 114 2 9); परत = कैलियर: 0x618000231800 यूआईसेजमेंट: 0x7febebe14d30; फ्रेम = (0 0; 113 2 9); परत = CALayer: 0x6180002319c0
तो, आप खंडों हिस्सों में बंटा हुआ नियंत्रण में एक UISegment
के रूप में, का उपयोग इस प्रकार एक UIView के रूप में यह करने के लिए संपादित की जरूरत आवेदन कर सकते हैं। उदाहरण के लिए, यदि आप दूसरे खंड को घुमाने के लिए चाहते हैं, आप लागू कर सकते हैं:
UISegmentLabel:
override func viewDidLoad() {
super.viewDidLoad()
for view in segmentedControl.subviews[1].subviews {
print(view)
view.transform = CGAffineTransform(scaleX: -1, y: 1)
}
}
आप देख सकते हैं, खंड भी subviews है 0x7f8b51701770; फ्रेम = (0 0; 64 22।5); पाठ = 'दूसरा'; अपारदर्शी = नहीं; userInteractionEnabled = नहीं; परत = _UILabelLayer: 0x610000091530
UIImageView: 0x7f8b51701470; फ्रेम = (114 0; 1 1); अल्फा = 0; opaque = नहीं; autoresize = एलएम; userInteractionEnabled = नहीं; टैग = -1030; परत = CALayer: 0x610000031480
तो, आप इन subviews के सभी, कोड स्निपेट के ऊपर में लागू किया बारी बारी से करना चाहिए।
उत्पादन होगा:
एक ही दृष्टिकोण हिस्सों में बंटा हुआ नियंत्रण खिताब के बजाय छवियां हैं के साथ लागू किया जाना चाहिए:
घूर्णन से पहले:
,210
घुमाने के बाद:
धन्यवाद @Pochi। हालांकि जब पूरे यूआईवीव को प्रतिबिंबित किया जा रहा है, तो कुछ अन्य गुणों को भी घुमाया गया है, जैसे कि गोलाकार सीमाएं। मैंने अब सवाल संपादित कर लिया है - UIView की सामग्री को फ़्लिप करने के लिए पूछना और UIView स्वयं नहीं। पीएस .: UIView में UILabel नहीं है। इसमें UISegmentLabel नामक एक चीज़ शामिल है। – Dorad