2016-06-10 7 views
6

यहां तालिका का एक चित्र है जिसके साथ मैं काम कर रहा हूं।एक लेबल का यूआईटीएस्ट रंग (यूआई लेबल नहीं)

enter image description here

मैं सिर्फ "का अनुरोध किया" (ग्रे) या "ड्राफ़्ट" (नारंगी) के रंग प्राप्त करने के लिए कोशिश कर रहा हूँ। मैं द्वारा

var timeSheetStatus = 
    app.tables.element.cells.elementBoundByIndex(0).staticTexts.elementBoundByIndex(1).label 

"का अनुरोध किया" या "मसौदा" की वास्तविक स्ट्रिंग प्राप्त करने में सक्षम हूँ, लेकिन यह सिर्फ एक स्ट्रिंग और नहीं एक UILabel है (अगर यह एक UILabel थे मैं label.textColor करने में सक्षम हो जाएगा मेरा मानना ​​है)। मैं इस स्ट्रिंग का रंग कैसे प्राप्त करूं ताकि मैं जोर दे सकूं कि यह वास्तव में ग्रे या नारंगी है?

+0

बेशक यह एक लेबल है। एक स्ट्रिंग इंटरफ़ेस में जादुई रूप से दिखाई नहीं दे सकती है; इसे कुछ इंटरफ़ेस ऑब्जेक्ट द्वारा खींचा जाना है। – matt

+0

@matt ओह क्षमा करें मैंने कुछ दिनों पहले शुरूआत से इस बारे में सीखना शुरू कर दिया था। मेरा मतलब था कि मेरे प्रश्न में कोड एक स्ट्रिंग देता है, न कि UILabel, इसलिए मुझे लगता है कि मैं इस तत्व के UILabel को इसके साथ काम करने के तरीके पर उलझन में हूं। – user3613290

+0

आपको UILabel के रंग के लिए यूनिट टेस्ट लिखने की आवश्यकता होगी, जहां आप UILabel के रंग विशेषता तक पहुंच पाएंगे। – Oletha

उत्तर

5

मुझे डर है कि आप यूआई परीक्षण के माध्यम से ऐसा करने में सक्षम नहीं होंगे। यूआई परीक्षण केवल उस हद तक इंटरफ़ेस को "देख" सकता है जिससे अभिगम्यता इसे उजागर करती है। इस प्रकार आप पाठ को "देख सकते हैं" लेकिन आप "देख" नहीं सकते कि यह बात UILabel है; यूआई परीक्षण उसमें से कुछ भी नहीं जानता है। इस प्रकार आप अपनी प्रकृति को UILabel के रूप में नहीं खोज सकते हैं।

0

आप सीधे रंग नहीं प्राप्त कर सकते हैं, लेकिन अगर आपको यह सुनिश्चित करने के लिए अपने यूआई का परीक्षण करने की आवश्यकता है कि आपके लेबल सही तरीके से हाइलाइट किए गए हैं तो आप रंग या तथ्य को हाइलाइट करने जैसी तथ्य को शामिल करने के लिए अपना एक्सेसिबिलिटी लेबल सेट कर सकते हैं।

यह ऐप की उपयोगिता में भी सुधार करेगा, क्योंकि दृष्टिहीन लोगों को वैसे भी रंग दिखाई नहीं देगा। फिर आप यह सुनिश्चित करने के लिए परीक्षण लिख सकते हैं कि कम से कम एक्सेसिबिलिटी लेबल सही है। निश्चित रूप से अभी भी संभावना है कि डेवलपर लेबल रंग हरा और अभिगम्यता लेबल "पीला" बनाता है, लेकिन यह क्वेरी यूआई तत्वों तक पहुंच का उपयोग करने का एक सामान्य जोखिम है।

उदाहरण के लिए, अपने ऐप कोड में:

myLabel.text = "Draft" myLabel.color = .yellow myLabel.accessibilityLabel = "Draft (Yellow)"

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