2011-10-26 4 views
3

MonoTouch.Dialog RadioElementsを使用してデータを選択し、TableView BackgroundViewsのUIImageViewが必要です。生成されたRadioGroupのBackgroundViewを継承/設定するDialogViewController TableView(MonoTouch.Dialog)

最初のDialogViewControllerのTableViewにBackgroundViewを設定できます。問題はありませんが、RadioGroupごとに生成されたTableViewにはデフォルトのグレーの背景イメージがあり、同じバックグラウンドスタイルに変更する方法が見つからないようです最初のTableViewとして。

生成されたTableViewのBackgroundView(各RadioGroupに対して生成されたTableView)を変更して、MonoTouch.Dialogソースを移動したり変更したりする必要はありませんか?

ありがとうございます。

+1

ご迷惑をおかけします。私は 'RadioGroup'がUI以外のもの、つまりテーブルを持たない(再度チェックする必要がある)という印象を受けました。 RootElementのTableViewですか?そうであれば、同じ継承と上書きのトリックが行います。 – poupou

+0

これは私が以前に発見したものです。ありがとう! – bertusaurus

+0

最終回答は何でしたか? – Dylan

答えて

3

AFAIK独自の要素を作成する必要があります。しかし良いニュースは例えば、それが実行するとても簡単だです:

public class TransparentRootElement : RootElement { 

    // add required .ctors 

    public override UITableViewCell GetCell (UITableView tv) 
    { 
     var cell = base.GetCell (tv); 
     cell.BackgroundColor = UIColor.Clear; 
     return cell; 
    } 
} 

その後、あなただけがRadioGroupを作成し、この新しいTransparentRootElementタイプを使用する必要があります。

+0

個々のセルではなく、TableView自体の背景を設定しようとしています。 – bertusaurus

+0

RadioElementではなく、RootElementを参照するように編集されました – poupou

0
public class CustomRootElement : RootElement 
{ 
    public CustomRootElement(string caption, RadioGroup group) : base(caption, group) 
    { 

    } 
    protected override MonoTouch.UIKit.UIViewController MakeViewController() 
    { 
     DialogViewController result = (DialogViewController)base.MakeViewController(); 
     // set the background here 
     result.TableView.BackgroundColor = UIColor.ScrollViewTexturedBackgroundColor; 

     return result; 
    } 

}