1

Xamarin.ios/monotouch で UIWebView の InputAccessoryView を非表示にしたり置き換えたりする方法はありますか?

4

2 に答える 2

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 Simulator 6.1 を使用しています。</p>

于 2013-08-16T09:59:52.470 に答える
0

MonoTouch.DialogのHtmlElementのセル アクセサリを意味していると思います。その柔軟性は実装には含まれていないようですが、簡単に追加できます。

移動: MonoTouch.Dialog Github ソース (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 との競合がないことを確認します。

于 2013-08-16T09:14:29.037 に答える