将标签视图添加到Xamarin iOS应用程序

时间:2017-08-30 09:15:13

标签: ios xamarin xamarin.ios

如何在附加图像中使用标签气泡。我使用TagView组件为Android做了这个,但不知道如何为Xamarin iOS做这个?我可以参考哪个组件?

enter image description here

2 个答案:

答案 0 :(得分:0)

您必须自己编写此自定义组件。 我建议在XIB / Storyboard中设计这个并在运行时放置它。

创建一个这样的子视图程序的非常粗略的想法可能类似于

    var myView = new UIView(frame: new CoreGraphics.CGRect(10, 10, 120, 40));
    myView.BackgroundColor = UIColor.Blue;

    myView.Layer.CornerRadius = 20;

    var mylabel = new UILabel(frame: new CoreGraphics.CGRect(10, 10, 80, 40));
    mylabel.Text = "MUMBAI";
    myView.Add(mylabel);

    UIButton button = new UIButton();


    button.Frame = new CoreGraphics.CGRect(mylabel.Frame.X + mylabel.Frame.Width, 10f, 40, 25);
    button.SetTitle("Title", UIControlState.Normal);
    button.SetBackgroundImage(UIImage.FromBundle("MyImage"),UIControlState.Normal);
    myView.Add(button);

    View.Add(myView);

这里你需要做的帧计算,上面只是我放的一些示例帧。

所以最终你会使这些视图水平叠加,当用户点击“x”按钮时,你会用动画改变框架。

答案 1 :(得分:0)

Try this

https://github.com/nmilcoff/TagsView

It's super simple to get started:

public class ViewController : UIViewController
{
    private TagListView tagsView;

    public override void ViewDidLoad()
    {
        // code
        this.tagsView = new TagListView()
        {
            // you can customize properties here!
        };

        this.View.AddSubview(this.tagsView);

        this.View.AddConstraints(        
            // Add your constraints!
        );

        // you can attach a source object to each tag
        var myObject = new MyModel { Title = "I'm a MyModel!" };
        this.tagsView.AddTag(myObject.Title, myObject); 

        // but, if none is provided, it will be the text string 
        this.tagsView.AddTag("I'm a simple tag!"); 
    }
}