创建类似whatsapp的UI聊天,以及如何在导航栏(iOS xamarin)中创建事件触控

创建类似whatsapp的UI聊天,以及如何在导航栏(iOS xamarin)中创建事件触控,ios,xamarin,navigationbar,Ios,Xamarin,Navigationbar,我想问一下iOS xamarin。我正在创建一个类似于whatsapp的应用程序,但遇到了以下问题: 在导航栏(标题栏)中创建一个类似whatsapp的UI,我将ImageView/Label拖到那里,但是ImageView/Label被导航栏覆盖。如下图所示: 单击导航栏时,我想将用户指向另一个控制器,但我不知道如何在导航栏中创建事件触摸/单击。你能给我点建议吗 这不是触摸导航栏,它的触摸按钮放在导航栏上。长按whatsapp中的标题/名称,您将看到突出显示的区域--(触摸部分)-即按钮

我想问一下iOS xamarin。我正在创建一个类似于whatsapp的应用程序,但遇到了以下问题:

  • 在导航栏(标题栏)中创建一个类似whatsapp的UI,我将
    ImageView
    /
    Label
    拖到那里,但是
    ImageView
    /
    Label
    被导航栏覆盖。如下图所示:

  • 单击导航栏时,我想将用户指向另一个控制器,但我不知道如何在导航栏中创建事件触摸/单击。你能给我点建议吗


  • 这不是触摸导航栏,它的触摸按钮放在导航栏上。长按whatsapp中的标题/名称,您将看到突出显示的区域--(触摸部分)-即按钮

               UIView buttonContainer = new UIView(new CoreGraphics.CGRect(0, 0, 200, 44));
                buttonContainer.BackgroundColor = UIColor.Clear;
    
                UILabel lbltitle = new UILabel(new CoreGraphics.CGRect(0, 0, 200, 44));
                lbltitle.Text = "TITLE TO DISPLAY";
                buttonContainer.AddSubview(lbltitle);
                UIButton btnTitle = new UIButton(UIButtonType.Custom);
                btnTitle.Frame = new CoreGraphics.CGRect(0, 0, 200, 44);
                btnTitle.BackgroundColor = UIColor.Clear;
                buttonContainer.AddSubview(btnTitle);
    btnTitle.RemoveTarget(buttonTapped, UIControlEvent.TouchUpInside);
                    btnTitle.AddTarget(buttonTapped, UIControlEvent.TouchUpInside);
    
                this.NavigationItem.TitleView = buttonContainer;
    
    下面是按下按钮点击视图控制器的代码

     public void buttonTapped(object sender, EventArgs e)
                {
        NavigationController.PushViewController(new ViewProfileController(base.Handle), false);
        //add code to push view controller from here..
        }
    

    非常感谢您的帮助。我解决了第一个问题。对于问题2,如何使用btnTitle将ViewController推送到其他控制器?我的pushviewcontroller代码是“NavigationController.pushviewcontroller(新的ViewProfileController(base.Handle),false)”,但我得到错误“Foundation.MonoTouchException:Objective-C异常抛出。名称:NSInvalidArgumentException原因:不支持多次推送同一个视图控制器实例()”。我不使用buttonTapped,因为我不知道如何使用它。我在内部使用事件触碰。仅限我的代码:btnTitle.TouchUpInside+=(o,s)=>{NavigationController.PushViewController(新的ViewProfileController(base.Handle),false);};。我只想直接访问ViewProfileController。看来您多次添加了TouchUoInside。我用代码修改了答案以推送view controller。@Yulia有帮助吗?btnTitle中只有一个事件TouchUoInside。你能给我一个没有segue的push view控制器的代码吗?因为Bttle是通过代码自动创建的。非常感谢……这似乎是两个问题。请先搜索每个问题,如果没有找到任何问题,请为每个问题创建一个自己的线程。请同时显示您有问题的代码(请不要显示整个程序)。