UIButtonType.RoundedRect
'dan başlayan özel bir UIButton oluşturmaya çalışıyorum.Genişletilmiş UIButton kenarlığı başlangıçta çizilmiyor
Eklenen işlevsellik çalışıyor, ancak düğmemdeki ilk yuvarlak kenarlık durumuyla ilgili bir sorun var. Genişletilmiş düğmem sınırına dokunulduktan sonra çekilmez.
Güncelleme (24 Ocak 2013): çizilir düğmeye sadece etiketini sonucuna Richard Marskell, isteği üzerine kırmızı arka plan testinin sonucunu eklendi. BackgroundColor = UIColor.Red;
Aşağıda benim özel düğme oluşturmak için benim kaynak kodudur.
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) { }
}
- Sadece görünümün yükleme doğru çizilmesi sınırı zorlamak için nasıl emin değilim.
- Düğmeyi kendim çizmek istemediğim için
UIButtonType.Custom
türünde bir düğüme ihtiyacım yok. - Hata ayıkladığımda, MyButton türünü doğru olarak
UIButtonType.RoundedRect
olarak ayarlayın. - MyButton'un (button2) UIButton temel özellikleri, UIButton örneğinin (düğme1) özellikleriyle eşleşir.
Bu sorunu nasıl çözebilirim?
Güncelleştirme (31 Ocak 2013): Herman Schoenfeld bu hata için uygun bir çözüm sağladı.
+1. – MarioDS
Oluşturucu yerine düğmeyi oluşturmak için UIButton.FromXXX yöntemini deneyebilir misiniz? Sadece bir teoriyi denemek için –
@ miguel.de.icaza Bunu incelediğiniz için teşekkürler. UIButton.FromType yöntemini kullanarak bir UIButton oluşturmayı denedim ve doğru çizildi. Bu yöntemi kullanarak MyButton örneğini oluşturma yöntemini nasıl kullanacağımı bilmiyorum. – Scott