本文整理汇总了C#中MonoMac.AppKit.NSView.AddSubview方法的典型用法代码示例。如果您正苦于以下问题:C# NSView.AddSubview方法的具体用法?C# NSView.AddSubview怎么用?C# NSView.AddSubview使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MonoMac.AppKit.NSView
的用法示例。
在下文中一共展示了NSView.AddSubview方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ViewDidLoad
public override void ViewDidLoad ()
{
View = new NSView (new RectangleF (0, 0, 320, 400));
base.ViewDidLoad ();
var textEditFirst = new NSTextField(new System.Drawing.RectangleF(0,0,320,40));
View.AddSubview (textEditFirst);
var textEditSecond = new NSTextField(new System.Drawing.RectangleF(0,50,320,40));
View.AddSubview(textEditSecond);
var slider = new NSSlider(new System.Drawing.RectangleF(0,150,320,40));
slider.MinValue = 0;
slider.MaxValue = 100;
slider.IntValue = 23;
View.AddSubview(slider);
var labelFull = new NSTextField(new System.Drawing.RectangleF(0,100,320,40));
labelFull.Editable = false;
labelFull.Bordered = false;
labelFull.AllowsEditingTextAttributes = false;
labelFull.DrawsBackground = false;
View.AddSubview (labelFull);
var sw = new NSButton(new RectangleF(0,200,320,40));
sw.SetButtonType (NSButtonType.Switch);
View.AddSubview (sw);
//sw.AddObserver()
var set = this.CreateBindingSet<SecondViewController, SecondViewModel> ();
set.Bind (textEditFirst).For(v => v.StringValue).To (vm => vm.FirstName);
set.Bind (textEditSecond).For(v => v.StringValue).To (vm => vm.LastName);
set.Bind (labelFull).Described("SliderValue + ' ' + OnOffValue").For("StringValue");
set.Bind (slider).For("IntValue").To (vm => vm.SliderValue);
set.Bind (sw).For(c => c.State).To (vm => vm.OnOffValue);
set.Apply ();
}
示例2: GetCredentials
public ICredentials GetCredentials (Uri uri, IWebProxy proxy, CredentialType credentialType, ICredentials existingCredentials, bool retrying)
{
bool result = false;
DispatchService.GuiSyncDispatch (() => {
using (var ns = new NSAutoreleasePool ()) {
var message = string.Format ("{0} needs {1} credentials to access {2}.", BrandingService.ApplicationName,
credentialType == CredentialType.ProxyCredentials ? "proxy" : "request", uri.Host);
NSAlert alert = NSAlert.WithMessage ("Credentials Required", "OK", "Cancel", null, message);
alert.Icon = NSApplication.SharedApplication.ApplicationIconImage;
NSView view = new NSView (new RectangleF (0, 0, 313, 91));
var creds = Utility.GetCredentialsForUriFromICredentials (uri, existingCredentials);
var usernameLabel = new NSTextField (new RectangleF (17, 55, 71, 17)) {
Identifier = "usernameLabel",
StringValue = "Username:",
Alignment = NSTextAlignment.Right,
Editable = false,
Bordered = false,
DrawsBackground = false,
Bezeled = false,
Selectable = false,
};
view.AddSubview (usernameLabel);
var usernameInput = new NSTextField (new RectangleF (93, 52, 200, 22));
usernameInput.StringValue = creds != null ? creds.UserName : string.Empty;
view.AddSubview (usernameInput);
var passwordLabel = new NSTextField (new RectangleF (22, 23, 66, 17)) {
StringValue = "Password:",
Alignment = NSTextAlignment.Right,
Editable = false,
Bordered = false,
DrawsBackground = false,
Bezeled = false,
Selectable = false,
};
view.AddSubview (passwordLabel);
var passwordInput = new NSSecureTextField (new RectangleF (93, 20, 200, 22));
passwordInput.StringValue = creds != null ? creds.Password : string.Empty;
view.AddSubview (passwordInput);
alert.AccessoryView = view;
result = alert.RunModal () == 1;
username = usernameInput.StringValue;
password = passwordInput.StringValue;
}
});
return result ? new NetworkCredential (username, password) : null;
}
示例3: GetCredentialsFromUser
static ICredentials GetCredentialsFromUser (Uri uri, IWebProxy proxy, CredentialType credentialType)
{
NetworkCredential result = null;
DispatchService.GuiSyncDispatch (() => {
using (var ns = new NSAutoreleasePool ()) {
var message = credentialType == CredentialType.ProxyCredentials
? GettextCatalog.GetString (
"{0} needs credentials to access the proxy server {1}.",
BrandingService.ApplicationName,
uri.Host
)
: GettextCatalog.GetString (
"{0} needs credentials to access {1}.",
BrandingService.ApplicationName,
uri.Host
);
var alert = NSAlert.WithMessage (
GettextCatalog.GetString ("Credentials Required"),
GettextCatalog.GetString ("OK"),
GettextCatalog.GetString ("Cancel"),
null,
message
);
alert.Icon = NSApplication.SharedApplication.ApplicationIconImage;
var view = new NSView (new RectangleF (0, 0, 313, 91));
var usernameLabel = new NSTextField (new RectangleF (17, 55, 71, 17)) {
Identifier = "usernameLabel",
StringValue = "Username:",
Alignment = NSTextAlignment.Right,
Editable = false,
Bordered = false,
DrawsBackground = false,
Bezeled = false,
Selectable = false,
};
view.AddSubview (usernameLabel);
var usernameInput = new NSTextField (new RectangleF (93, 52, 200, 22));
view.AddSubview (usernameInput);
var passwordLabel = new NSTextField (new RectangleF (22, 23, 66, 17)) {
StringValue = "Password:",
Alignment = NSTextAlignment.Right,
Editable = false,
Bordered = false,
DrawsBackground = false,
Bezeled = false,
Selectable = false,
};
view.AddSubview (passwordLabel);
var passwordInput = new NSSecureTextField (new RectangleF (93, 20, 200, 22));
view.AddSubview (passwordInput);
alert.AccessoryView = view;
if (alert.RunModal () != 1)
return;
var username = usernameInput.StringValue;
var password = passwordInput.StringValue;
result = new NetworkCredential (username, password);
}
});
// store the obtained credentials in the keychain
// but don't store for the root url since it may have other credentials
if (result != null)
Keychain.AddInternetPassword (uri, result.UserName, result.Password);
return result;
}
示例4: Run
public Command Run(WindowFrame transientFor, MessageDescription message)
{
this.MessageText = message.Text ?? String.Empty;
this.InformativeText = message.SecondaryText ?? String.Empty;
if (message.Icon != null)
Icon = message.Icon.ToImageDescription (Context).ToNSImage ();
var sortedButtons = new Command [message.Buttons.Count];
var j = 0;
if (message.DefaultButton >= 0) {
sortedButtons [0] = message.Buttons [message.DefaultButton];
this.AddButton (message.Buttons [message.DefaultButton].Label);
j = 1;
}
for (var i = 0; i < message.Buttons.Count; i++) {
if (i == message.DefaultButton)
continue;
sortedButtons [j++] = message.Buttons [i];
this.AddButton (message.Buttons [i].Label);
}
for (var i = 0; i < sortedButtons.Length; i++) {
if (sortedButtons [i].Icon != null) {
Buttons [i].Image = sortedButtons [i].Icon.WithSize (IconSize.Small).ToImageDescription (Context).ToNSImage ();
Buttons [i].ImagePosition = NSCellImagePosition.ImageLeft;
}
}
if (message.AllowApplyToAll) {
ShowsSuppressionButton = true;
SuppressionButton.State = NSCellStateValue.Off;
SuppressionButton.Activated += (sender, e) => ApplyToAll = SuppressionButton.State == NSCellStateValue.On;
}
if (message.Options.Count > 0) {
AccessoryView = new NSView ();
var optionsSize = new CGSize (0, 3);
foreach (var op in message.Options) {
var chk = new NSButton ();
chk.SetButtonType (NSButtonType.Switch);
chk.Title = op.Text;
chk.State = op.Value ? NSCellStateValue.On : NSCellStateValue.Off;
chk.Activated += (sender, e) => message.SetOptionValue (op.Id, chk.State == NSCellStateValue.On);
chk.SizeToFit ();
chk.Frame = new CGRect (new CGPoint (0, optionsSize.Height), chk.FittingSize);
optionsSize.Height += chk.FittingSize.Height + 6;
optionsSize.Width = (float) Math.Max (optionsSize.Width, chk.FittingSize.Width);
AccessoryView.AddSubview (chk);
chk.NeedsDisplay = true;
}
AccessoryView.SetFrameSize (optionsSize);
}
var win = Toolkit.CurrentEngine.GetNativeWindow (transientFor) as NSWindow;
if (win != null)
return sortedButtons [(int)this.RunSheetModal (win) - 1000];
return sortedButtons [(int)this.RunModal () - 1000];
}
示例5: LabelControl
internal static NSView LabelControl (string label, float controlWidth, NSControl control)
{
var view = new NSView (new RectangleF (0, 0, controlWidth, 28)) {
AutoresizesSubviews = true,
AutoresizingMask = NSViewResizingMask.WidthSizable | NSViewResizingMask.MaxXMargin,
};
var text = new NSTextField (new RectangleF (0, 6, 100, 20)) {
StringValue = label,
DrawsBackground = false,
Bordered = false,
Editable = false,
Selectable = false
};
text.SizeToFit ();
float textWidth = text.Frame.Width;
float textHeight = text.Frame.Height;
control.SizeToFit ();
var rect = control.Frame;
float controlHeight = rect.Height;
control.Frame = new RectangleF (textWidth + 5, 0, controlWidth, rect.Height);
rect = view.Frame;
rect.Width = control.Frame.Width + textWidth + 5;
rect.Height = Math.Max (controlHeight, textHeight);
view.Frame = rect;
view.AddSubview (text);
view.AddSubview (control);
return view;
}
示例6: Run
public bool Run (ExceptionDialogData data)
{
using (var alert = new NSAlert { AlertStyle = NSAlertStyle.Critical }) {
alert.Icon = NSApplication.SharedApplication.ApplicationIconImage;
alert.MessageText = data.Title ?? GettextCatalog.GetString ("Error");
if (!string.IsNullOrEmpty (data.Message)) {
alert.InformativeText = data.Message;
}
List<AlertButton> buttons = null;
if (data.Buttons != null && data.Buttons.Length > 0)
buttons = data.Buttons.Reverse ().ToList ();
if (buttons != null) {
foreach (var button in buttons) {
var label = button.Label;
if (button.IsStockButton)
label = Gtk.Stock.Lookup (label).Label;
label = label.Replace ("_", "");
//this message seems to be a standard Mac message since alert handles it specially
if (button == AlertButton.CloseWithoutSave)
label = GettextCatalog.GetString ("Don't Save");
alert.AddButton (label);
}
}
if (data.Exception != null) {
var scrollSize = new SizeF (400, 130);
float spacing = 4;
string title = GettextCatalog.GetString ("View details");
string altTitle = GettextCatalog.GetString ("Hide details");
var buttonFrame = new RectangleF (0, 0, 0, 0);
var button = new NSButton (buttonFrame) {
BezelStyle = NSBezelStyle.Disclosure,
Title = "",
AlternateTitle = "",
};
button.SetButtonType (NSButtonType.OnOff);
button.SizeToFit ();
var label = new MDClickableLabel (title) {
Alignment = NSTextAlignment.Left,
};
label.SizeToFit ();
button.SetFrameSize (new SizeF (button.Frame.Width, Math.Max (button.Frame.Height, label.Frame.Height)));
label.SetFrameOrigin (new PointF (button.Frame.Width + 5, button.Frame.Y));
var text = new MyTextView (new RectangleF (0, 0, float.MaxValue, float.MaxValue)) {
HorizontallyResizable = true,
};
text.TextContainer.ContainerSize = new SizeF (float.MaxValue, float.MaxValue);
text.TextContainer.WidthTracksTextView = true;
text.InsertText (new NSString (data.Exception.ToString ()));
text.Editable = false;
var scrollView = new NSScrollView (new RectangleF (PointF.Empty, SizeF.Empty)) {
HasHorizontalScroller = true,
HasVerticalScroller = true,
};
var accessory = new NSView (new RectangleF (0, 0, scrollSize.Width, button.Frame.Height));
accessory.AddSubview (scrollView);
accessory.AddSubview (button);
accessory.AddSubview (label);
alert.AccessoryView = accessory;
button.Activated += delegate {
float change;
if (button.State == NSCellStateValue.On) {
change = scrollSize.Height + spacing;
label.StringValue = altTitle;
scrollView.Hidden = false;
scrollView.Frame = new RectangleF (PointF.Empty, scrollSize);
scrollView.DocumentView = text;
} else {
change = -(scrollSize.Height + spacing);
label.StringValue = title;
scrollView.Hidden = true;
scrollView.Frame = new RectangleF (PointF.Empty, SizeF.Empty);
}
var f = accessory.Frame;
f.Height += change;
accessory.Frame = f;
var lf = label.Frame;
lf.Y += change;
label.Frame = lf;
var bf = button.Frame;
bf.Y += change;
button.Frame = bf;
label.SizeToFit ();
var panel = (NSPanel) alert.Window;
var pf = panel.Frame;
//.........这里部分代码省略.........
示例7: SelectEncodingPanel
public SelectEncodingPanel () : base ()
{
var size = new SizeF (600, 400);
float padding = 12;
this.SetContentSize (size);
var view = new NSView (new RectangleF (0, 0, size.Width, size.Height));
var okButton = new NSButton () {
Title = GettextCatalog.GetString ("OK"),
Bordered = true,
BezelStyle = NSBezelStyle.Rounded,
};
okButton.SetButtonType (NSButtonType.MomentaryPushIn);
okButton.Activated += delegate {
Dismiss (1);
};
this.DefaultButtonCell = okButton.Cell;
var cancelButton = new NSButton () {
Title = GettextCatalog.GetString ("Cancel"),
Bordered = true,
BezelStyle = NSBezelStyle.Rounded,
};
cancelButton.Activated += delegate {
Dismiss (0);
};
var buttonBox = new MDBox (LayoutDirection.Horizontal, padding, 0) {
new MDAlignment (cancelButton, true) { MinWidth = 96, MinHeight = 32 },
new MDAlignment (okButton, true) { MinWidth = 96, MinHeight = 32 },
};
buttonBox.Layout ();
var buttonView = buttonBox.View;
var buttonRect = buttonView.Frame;
buttonRect.Y = 12;
buttonRect.X = size.Width - buttonRect.Width - padding;
buttonView.Frame = buttonRect;
view.AddSubview (buttonView);
float buttonAreaTop = buttonRect.Height + padding * 2;
var label = CreateLabel (GettextCatalog.GetString ("Available encodings:"));
var labelSize = label.Frame.Size;
float labelBottom = size.Height - 12 - labelSize.Height;
label.Frame = new RectangleF (12, labelBottom, labelSize.Width, labelSize.Height);
view.AddSubview (label);
var moveButtonWidth = 32;
var tableHeight = labelBottom - buttonAreaTop - padding;
var tableWidth = size.Width / 2 - padding * 3 - moveButtonWidth + padding / 2;
allTable = new NSTableView (new RectangleF (padding, buttonAreaTop, tableWidth, tableHeight));
allTable.HeaderView = null;
var allScroll = new NSScrollView (allTable.Frame) {
BorderType = NSBorderType.BezelBorder,
AutohidesScrollers = true,
HasVerticalScroller = true,
DocumentView = allTable,
};
view.AddSubview (allScroll);
float center = (size.Width + padding) / 2;
var selectedLabel = CreateLabel (GettextCatalog.GetString ("Encodings shown in menu:"));
var selectedLabelSize = selectedLabel.Frame.Size;
selectedLabel.Frame = new RectangleF (center, labelBottom, selectedLabelSize.Width, selectedLabelSize.Height);
view.AddSubview (selectedLabel);
selectedTable = new NSTableView (new RectangleF (center, buttonAreaTop, tableWidth, tableHeight));
selectedTable.HeaderView = null;
var selectedScroll = new NSScrollView (selectedTable.Frame) {
BorderType = NSBorderType.BezelBorder,
AutohidesScrollers = true,
HasVerticalScroller = true,
DocumentView = selectedTable,
};
view.AddSubview (selectedScroll);
float buttonLevel = tableHeight / 2 + buttonAreaTop;
var goRightImage = NSImage.ImageNamed ("NSGoRightTemplate");
addButton = new NSButton (
new RectangleF (tableWidth + padding * 2, buttonLevel + padding / 2,
moveButtonWidth, moveButtonWidth)) {
//Title = "\u2192",
BezelStyle = NSBezelStyle.SmallSquare,
Image = goRightImage
};
addButton.Activated += Add;
view.AddSubview (addButton);
removeButton = new NSButton (
new RectangleF (tableWidth + padding * 2, buttonLevel - padding / 2 - moveButtonWidth,
moveButtonWidth, moveButtonWidth)) {
//Title = "\u2190",
BezelStyle = NSBezelStyle.SmallSquare,
Image = NSImage.ImageNamed ("NSGoLeftTemplate"),
};
removeButton.Activated += Remove;
view.AddSubview (removeButton);
//.........这里部分代码省略.........
示例8: ReplaceChild
public static void ReplaceChild(NSView cont, NSView oldView, NSView newView)
{
if (cont is IViewContainer) {
((IViewContainer)cont).ReplaceChild (oldView, newView);
}
else if (cont is NSView) {
newView.Frame = oldView.Frame;
oldView.RemoveFromSuperview ();
newView.AddSubview (newView);
}
}