Xamarin.ios/monotouch で UIWebView の InputAccessoryView を非表示にしたり置き換えたりする方法はありますか?
質問する
719 次
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 に答える