मैं भी apple doc माध्यम से चला गया, लेकिन यह सिर्फ कहा गया है कि इसकेUIButton के UIControlState "एप्लिकेशन" का उपयोग क्या है?
अतिरिक्त नियंत्रण राज्य आवेदन उपयोग के लिए उपलब्ध झंडे।
यह सिर्फ एक गेटर विधि है, तो यह कब सेट हो जाता है?
मैं भी apple doc माध्यम से चला गया, लेकिन यह सिर्फ कहा गया है कि इसकेUIButton के UIControlState "एप्लिकेशन" का उपयोग क्या है?
अतिरिक्त नियंत्रण राज्य आवेदन उपयोग के लिए उपलब्ध झंडे।
यह सिर्फ एक गेटर विधि है, तो यह कब सेट हो जाता है?
application
और reserved
मूल रूप से मार्कर हैं।
disabled: UIControlStateDisabled = 1 << 1
application: UIControlStateApplication = 0x00FF0000
reserved: कि जब उनके लिए उद्देश्य-सी प्रलेखन को देख और अधिक स्पष्ट है UIControlStateReserved = 0xFF000000
इसका मतलब है कि एक के दूसरे कम से कम महत्वपूर्ण बिट उदाहरण के लिए UIControlState
गीलेर को निर्धारित करने के लिए ज़िम्मेदार है या नहीं UIControl
अक्षम है या नहीं। 17 - 24
से 0 बिट्स (1 << 16
से 1 << 23
तक) 25 - 32
(1 << 24
से 1 << 31
तक) उपयोग करने के लिए आंतरिक ढांचे के लिए हैं।
इसका मूल अर्थ यह है कि ऐप्पल सबसे कम 16 बिट्स का उपयोग करते समय नियंत्रण के नए राज्य झंडे को परिभाषित करने में सक्षम/सक्षम है, तो आपके पास अपने स्वयं के कस्टम झंडे के लिए 8 बिट्स का उपयोग करने में सक्षम होने की गारंटी है।
कस्टम झंडे को परिभाषित किया जा सकता है उदा। के माध्यम से:
let myFlag = UIControlState(rawValue: 1 << 18)
class MyButton : UIButton {
var customFlags = myFlag
override var state: UIControlState {
get {
return [super.state, customFlags]
}
}
func disableCustom() {
customFlags.remove(myFlag)
}
}
let myButton = MyButton()
print(myButton.state.rawValue) // 262144 (= 2^18)
myButton.isEnabled = false
myButton.isSelected = true
print(myButton.state.rawValue) // 262150 (= 262144 + 4 + 2)
myButton.disableCustom()
print(myButton.state.rawValue) // 6 (= 4 + 2)
आपका ओवरराइड वैर दिखता है जैसे यह यूआईसींट्रोलस्टेट की एक सरणी देता है फिर भी यह राज्य के साथ एक यूआईसींट्रोलस्टेट देता है और कस्टमफ्लैग एक साथ XOR'ed करता है। यह कैसा है? – Brynjar
@ ब्रायनजर https://oleb.net/blog/2016/09/swift-option-sets/ - वे ['ExpressibleByArrayLiteral'] (https://developer.apple.com/documentation/swift/expressiblebyarrayliteral) के अनुरूप हैं – luk2302
@ ब्रायनगर और यह 'एक्सओआर' की तरह काम नहीं करता है, यह थोड़ा सा 'या' या बस '+' है क्योंकि दो अलग-अलग झंडे में कोई भी बिट '1' नहीं है। – luk2302
के माध्यम से इस्तेमाल किया जा सकता है जो मुझे लगता है कि आपके सवाल का शरीर + शीर्षक थोड़ा भ्रामक है के बाद से 'UIControlState.application' बिल्कुल' UIButton' के लिए विशिष्ट नहीं है, और यह या तो एक विधि नहीं है। क्या आप पूछ रहे हैं कि 'UIControlState.application' का उपयोग क्या है और किसी भी यूआई-तत्व की' राज्य 'संपत्ति' .plication' मान मानती है? – luk2302
इसे देखें: https: //developer.apple.com/reference/uikit/uicontrolstate – KKRocks
@KKRocks मुझे लगता है कि ओपी ने देखा कि पहले से ही उद्धृत वाक्य बिल्कुल वही है। – luk2302