MonoTouch.Dialog: GlassButton в разделе - PullRequest
3 голосов
/ 22 декабря 2011

У меня есть стандарт DialogViewControler, который добавляет Section с представлением в качестве конструктора:

Section sec = new Section (new LogoHeaderView (320, 87));

В LogoHeaderView я добавляю MT.Dialog GlassButton

        btnContact = new GlassButton (frameContact);    
        btnContact.SetTitle ("Contact", UIControlState.Normal);
        btnContact.NormalColor = Settings.ButtonNormalColor;
        btnContact.HighlightedColor = Settings.ButtonHighlightColor;
        btnContact.Tapped += (obj) => {};
        btnContact.Enabled=true;
        AddSubview (btnContact);

Вид отображается хорошо, однако кнопка не активируется, и событие Tapped никогда не активируется.Как будто он не включен?

Как заставить GlassButton отображаться в виде в разделе и работать как кнопка?enter image description here

1 Ответ

3 голосов
/ 23 декабря 2011

Это работает для меня.Однако если ваш GlassButton выходит за пределы UIView, он не получит события касания (это UIView вещь, а не GlassButton проблема).

Например, это не работает

        UIView view = new UIView (new RectangleF (0, 0, 200, 10));
        view.MultipleTouchEnabled = true;
        GlassButton gb = new GlassButton (new RectangleF (10,10,100,100));
        gb.SetTitle ("Contact", UIControlState.Normal);
        gb.Enabled = true;
        gb.Tapped += delegate {
             Console.WriteLine ("hello");
        };
        view.AddSubview (gb);

, но измените первую строку на:

        UIView view = new UIView (new RectangleF (0, 0, 200, 200));

, и вы сможете нажать кнопку.

...