我正在尝试使用MonoTouch和MonoTouch.Dialog构建应用程序。
我非常喜欢dropbox设计欢迎视图的方式。当应用程序第一次打开时,您会看到一个类似
的屏幕
它类似于我需要做的事情。我首先需要检查我的用户是否是该产品的新用户,或者已经拥有一个帐户。
他们的欢迎屏幕对我来说就像一个导航控制器(对不起,如果我错了)
我希望能够将自己的商家徽标添加到类似于投递箱的视图中,并在视图底部添加导航按钮
MonoTouch.Dialog可以这样做吗?
答案 0 :(得分:3)
通常,应通过添加UIImageVIew作为子视图来设置复杂的背景视图。否则,在Dropbox的情况下,他们使用重复模式图像:
public class MyDialogViewController : DialogViewController {
public MyDialogViewController (RootElement root)
: base (root) {
}
public override void LoadView () {
base.LoadView ();
this.TableView.BackgroundColor = UIColor.Clear;
var background = UIImage.FromFile ("background.png");
ParentViewController.View.BackgroundColor = UIColor.FromPatternImage(background);
}
答案 1 :(得分:2)
我认为Anuj回答了大部分内容 - 除了徽标部分。你可能想要一个漂亮的,渐变式的背景,就像他提出的那样(并且应该得到赞誉; - )。
从那里创建透明(背景)徽标并将其添加到背景之上可能更容易。为此,您可以在UIImage
内的TableView
内添加DialogViewController
。
还有很多其他方法可以做到这一点。这一项确保您的MT.D元素将显示在徽标所在的TableHeaderView
下方。
这是一个快速(非常脏)的示例代码,用于在标题中添加图像:
public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
var root = new RootElement ("Welcome to MonoTouch") {
new Section (String.Empty) {
new StyledStringElement ("I'm already a MonoTouch user") {
Accessory = UITableViewCellAccessory.DisclosureIndicator
},
new StyledStringElement ("I'm new to MonoTouch") {
Accessory = UITableViewCellAccessory.DisclosureIndicator
}
}
};
var dv = new DialogViewController (root) {
Autorotate = true
};
var data = NSData.FromUrl (new NSUrl ("https://github.com/xamarin/monotouch-samples/blob/master/AVCaptureFrames/Images/Icons/114_icon.png?raw=true"));
var logo = UIImage.LoadFromData (data);
dv.TableView.TableHeaderView = new UIImageView (logo);
navigation.PushViewController (dv, true);
window.MakeKeyAndVisible ();
// On iOS5 we use the new window.RootViewController, on older versions, we add the subview
if (UIDevice.CurrentDevice.CheckSystemVersion (5, 0))
window.RootViewController = navigation;
else
window.AddSubview (navigation.View);
return true;
}