नहीं बनाई गई है, मैं एक कस्टम UIButton बनाने की कोशिश कर रहा हूं जो UIButtonType.RoundedRect
से फैली हुई है।विस्तारित UIButton सीमा प्रारंभ में
मेरी अतिरिक्त कार्यक्षमता काम कर रही है, लेकिन मेरे बटन की प्रारंभिक गोलाकार सीमा स्थिति के साथ कोई समस्या है। मेरे विस्तारित बटन की सीमा तब तक नहीं खींची जाती है जब तक इसे टैप नहीं किया जाता है।
अद्यतन (जनवरी 24 वें 2013): के रूप में रिचर्ड Marskell है, जो केवल बटन के लेबल का निष्कर्ष तैयार की है से अनुरोध किया, लाल रंग की पृष्ठभूमि परीक्षण के परिणाम को जोड़ा गया। BackgroundColor = UIColor.Red;
नीचे अपने कस्टम बटन बनाने के लिए मेरे स्रोत कोड है।
public class TestView : UIView
{
public TestView(IntPtr p) : base(p) { }
public TestView(RectangleF bounds)
{
Frame = bounds;
BackgroundColor = UIColor.White;
UIButton button1 = new UIButton(UIButtonType.RoundedRect);
button1.Frame = new RectangleF(20,20,100,50);
button1.SetTitle("Button 1", UIControlState.Normal);
AddSubview(button1); // Drawn Correctly
MyButton button2 = new MyButton();
button2.Frame = new RectangleF(20,90,100,50);
button2.SetTitle("Button 2", UIControlState.Normal);
AddSubview(button2); // Only drawn correctly after Tap
// EDIT: Added to test Miguel's theory
UIButton button3 = UIButton.FromType(UIButtonType.RoundedRect);
button3.Frame = new RectangleF(20,160,100,50);
button3.SetTitle("Button 3", UIControlState.Normal);
AddSubview(button3); // Drawn Correctly
}
}
public class MyButton : UIButton
{
public MyButton() : base(UIButtonType.RoundedRect) { }
}
- मैं सिर्फ यकीन है कि कैसे सीमा को देखने के लोड हो रहा है पर सही ढंग से तैयार किया जा करने के लिए मजबूर करने के लिए नहीं कर रहा हूँ।
- मुझे
UIButtonType.Custom
टाइप करने की आवश्यकता नहीं है, क्योंकि मैं स्वयं बटन को स्टाइल नहीं करना चाहता हूं। - जब मैं डीबग करता हूं तो माईबटन का प्रकार सही ढंग से
UIButtonType.RoundedRect
पर सेट होता है। - MyButton (बटन 2) के UIButton मूल गुण UIButton इंस्टेंस (बटन 1) के गुणों से मेल खाते हैं।
मैं इस मुद्दे का समाधान कैसे कर सकते हैं?
अद्यतन (31 जनवरी 2013): हरमन शॉन्फेल्ड ने इस बग के लिए एक उपयुक्त समाधान प्रदान किया।
+1। – MarioDS
क्या आप कन्स्ट्रक्टर के बजाए बटन बनाने के लिए UIButton.FromXXX विधि आज़मा सकते हैं? एक सिद्धांत को आजमाने के लिए –
@ miguel.de.icaza इस में देखने के लिए धन्यवाद। मैंने 'UIButton.FromType' विधि का उपयोग करके UIButton बनाने का प्रयास किया है, और यह सही ढंग से खींचा गया है। मुझे यकीन नहीं है कि इस विधि का उपयोग करके माईबटन का उदाहरण बनाने के लिए मुझे इस विधि का उपयोग कैसे करना है। – Scott