如何在xamarin.ios / monotouch上隐藏UIWebView的InputAccessoryView?

时间:2013-08-14 04:44:39

标签: c# ios uiwebview xamarin.ios xamarin

有没有在Xamarin.ios / monotouch上隐藏或替换UIWebView的InputAccessoryView?

2 个答案:

答案 0 :(得分:0)

认为你的意思是 HtmlElement 的细胞附件 MonoTouch.Dialog 。这种灵活性似乎没有包含在实现中,但很容易添加。

转到: MonoTouch.Dialog Github Source (Elements.cs)

复制HtmlElement类定义(撰写本文时第527行到第640行)并将其重命名为WhateverYouWantElement。修改GetCell方法:

public override UITableViewCell GetCell (UITableView tv)
{
...
static NSString hkey = new NSString ("WhateverYouWantElement"); //very important to set a unique cell reuse identifier here!
...
cell.Accessory = UITableViewCellAccessory.None;
...
}

这将创建一个没有披露指标的单元格。重用标识符将确保与内置的HtmlElement没有冲突。

答案 1 :(得分:0)

您是否尝试过创建UIWebView的子类并覆盖其InputAccessoryView属性,以便返回null

private class CustomWebView : UIWebView
     
{
            
    public override UIView InputAccessoryView
    
    {
                
        get
                  
        {
                    
            return null;
                
        }
            
    }
        
}
     

public override void ViewDidLoad()
 
{
            
    base.ViewDidLoad();

    // Perform any additional setup after loading the view, typically from a nib.            
        RectangleF frame = new RectangleF(0, 0, 200, 30);
            
            

    UITextField txfTest = new UITextField();
            
    txfTest.Frame = frame;
            
    txfTest.BorderStyle = UITextBorderStyle.RoundedRect;
            
    txfTest.Placeholder = "Click here";
            
    txfTest.EditingDidBegin += (object sender, EventArgs e) => {
                    
        // do something
            
    };

    CustomWebView webView = new CustomWebView();
            
    webView.LoadRequest(new NSUrlRequest(new NSUrl(@"http://google.com")));
            
    webView.Frame = new RectangleF(0, 100, 320, 480);
            
            
    webView.AddSubview(txfTest);            
            

    this.View.AddSubview(webView);
        
}

我尝试向UITextField添加UIWebView,但在关注UITextField后未显示输入附件。我正在使用iPhone模拟器6.1。