Xamarin.ios 基本控件
1// 、按钮 UIButton
UIButton btn = new UIButton();
btn.Frame = new RectangleF(,,,); //按钮位置一件宽高
btn.SetTitle("Button",UIControlState.Normal); //显示的文字
btn.SetTitleColor(UIColor.Black,UIControlState.Normal);//文字的颜色
btn.TouchUpInside += this.SetBackGroudColor; //按钮 触摸事件
this.View.AddSubview(btn); //添加到当前视图 //、图像视图 UIImageView
UIImageView img=new UIImageView();
img.Frame = new RectangleF(,,,); //设置位置大小
img.ContentMode = UIViewContentMode.ScaleAspectFit; //设置图像视图模式
img.Image = UIImage.FromFile("img.jpg"); //设置图像
img.Transform = CGAffineTransform.MakeRotation();//图像旋转正数顺时针旋转,负数逆时针旋转
img.Transform = CGAffineTransform.MakeScale(-,); //图像缩放
this.View.AddSubview(img); //添加到当前视图 //、label控件 UILabel
UILabel lbl1 = new UILabel();
lbl1.Frame = new RectangleF(,,,);
lbl1.Text = "UILabel";
lbl1.Lines = ; //显示行数 配合 label高度 使用
lbl1.LineBreakMode = UILineBreakMode.MiddleTruncation; //内容显示样式
lbl1.Hidden = true; //是否显示
this.View.AddSubview(lbl1); //、输入框 UITextField
UITextField t1 = new UITextField();
t1.BorderStyle = UITextBorderStyle.RoundedRect;
t1.Frame = new RectangleF(,,,);
t1.Placeholder = "账号";
// 限制输入字符长度
t1.ShouldChangeCharacters = (textField, range, replacementString) => {
if (range.Location < )
return true;
else
return false;
};
this.View.AddSubview(t1);
UITextField t2 = new UITextField();
t2.BorderStyle = UITextBorderStyle.RoundedRect;//边框样式
t2.Frame = new RectangleF(, , , );
t2.Placeholder = "密码";
t2.SecureTextEntry = true; //隐藏文本
this.View.AddSubview(t2); UITextView text = new UITextView();
text.Frame = new RectangleF(, , , ); this.View.AddSubview(text);
//、UITextView 实现功能:点击完成按钮隐藏键盘,并且把text的Text值赋值给text1控件,并监控 text控件的状态(开始输入,结束输入,输入中)
UITextView text1 = new UITextView();
text1.Frame = new RectangleF(, , , );
text1.Editable = false;
this.View.AddSubview(text1);
text1.Hidden = true;
UIButton btn = new UIButton();
btn.Frame = new RectangleF(,,,);
btn.SetTitle("完成", UIControlState.Normal);
btn.SetTitleColor(UIColor.Red,UIControlState.Normal);
this.View.AddSubview(btn);
btn.TouchUpInside += (sender, e) => {
text.ResignFirstResponder();
text1.Hidden=false;
text1.Text = text.Text; };
text.Delegate = new MyDelegate(); }
private class MyDelegate : UITextViewDelegate
{
public override void EditingEnded(UITextView textView)
{
Console.WriteLine("Edit end");
}
public override void EditingStarted(UITextView textView)
{
Console.WriteLine("Edit start");
}
public override void Changed(UITextView textView)
{
Console.WriteLine("Edit ");
}
}
//、 输入框键盘 样式类型 设置
UITextField fied = new UITextField();
fied.Frame = new RectangleF(, , , );
fied.BorderStyle = UITextBorderStyle.Line;
this.View.AddSubview(fied);
fied.KeyboardType = UIKeyboardType.Url;//设置键盘类型
fied.KeyboardAppearance = UIKeyboardAppearance.Dark;// 设置键盘外观
fied.ReturnKeyType = UIReturnKeyType.Next;//设置键盘的Return键 96// 、显示键盘 时改变输入框的位置
UITextField fied = new UITextField();
private NSObject kbdWillShow, kbdDidHide; public override void ViewDidLoad()
{
base.ViewDidLoad();
fied.Frame = new RectangleF(, , , );
fied.BorderStyle = UITextBorderStyle.RoundedRect;
this.View.AddSubview(fied);
//显示键盘前 (事件)
kbdWillShow = UIKeyboard.Notifications.ObserveWillShow((s, e) => {
RectangleF kbdRounds = (RectangleF)e.FrameEnd;
RectangleF textFrame = (RectangleF)fied.Frame;
textFrame.Y -= kbdRounds.Height;
fied.Frame = textFrame;
});
//隐藏键盘后 (事件)
kbdDidHide = UIKeyboard.Notifications.ObserveDidHide((s, e) =>
{
RectangleF kbdRounds = (RectangleF)e.FrameEnd;
RectangleF textFrame = (RectangleF)fied.Frame;
textFrame.Y += kbdRounds.Height;
fied.Frame = textFrame;
});
//键盘上的return键 隐藏键盘 (事件)
fied.ShouldReturn=delegate(UITextField textField) {
return textField.ResignFirstResponder();
};
}
//、 为输入框键盘 添加工具栏
UITextField fied = new UITextField();
fied.Frame = new RectangleF(, , , );
fied.BorderStyle = UITextBorderStyle.RoundedRect;//设置输入框边框
this.View.AddSubview(fied);
fied.KeyboardType = UIKeyboardType.EmailAddress;//设置键盘类型
//设施工具栏
UIToolbar bar = new UIToolbar();//实例化工具栏
bar.SizeToFit();
bar.BackgroundColor = UIColor.DarkGray;//设置背景
//实例化 工具栏 按钮
UIBarButtonItem item = new UIBarButtonItem("完成", UIBarButtonItemStyle.Done, (s, e) =>
{
//隐藏键盘
fied.ResignFirstResponder();
});
//为工具栏设置条目
bar.SetItems(new UIBarButtonItem[]{ item},true);
//为输入框 键盘添加工具栏
fied.InputAccessoryView = bar; //、文本视图菜单 退出按钮
public override void ViewDidLoad()
{
tf.Frame = new RectangleF(,,,);
this.View.AddSubview(tf);
UIMenuItem item = new UIMenuItem("退出", new Selector("hide"));//添加菜单按钮 UIMenuController c = UIMenuController.SharedMenuController;
c.MenuItems = new UIMenuItem[] { item }; }
UITextView tf = new UITextView();
[Export("hide")]
public void hide() {
//退出键盘
tf.ResignFirstResponder();
} //、触摸背景隐藏键盘
public override void ViewDidLoad()
{
tf.Frame = new RectangleF(,,,);
tf.BorderStyle = UITextBorderStyle.RoundedRect;
this.View.AddSubview(tf); }
/// <summary>
///重写 ViewController 方法 TouchesBegan
/// </summary>
/// <param name="touches">Touches.</param>
/// <param name="evt">Evt.</param>
public override void TouchesBegan(NSSet touches, UIEvent evt)
{
tf.ResignFirstResponder();
}
182// 、进度条控件 UIProgressView 先在添加一个lable lbl 和一个button sta
public override void ViewDidLoad()
{
//按钮的触摸事件
sta.TouchUpInside+=delegate {
sta.Enabled = false;
pv.Progress = 0f;
//创建一个新的任务 用来计算 进度条的值 并更新视图
Task.Factory.StartNew(this.Start);
};
/创建进度条 并添加到视图
pv = new UIProgressView(new RectangleF(60f,200f,200f,50f));
pv.Progress = 0f;
f = 1f / 10f;
this.View.AddSubview(pv);
}
UIProgressView pv;
float f = 0f;
public void Start() {
float p = 0f;
while (p<1f) {
Thread.Sleep();
//调用主线程 修改视图
this.InvokeOnMainThread(delegate {
pv.Progress += this.f;
p = pv.Progress;
lbl.Text = Math.Round(pv.Progress, ).ToString();
if (p >= 1f)
{
lbl.Text = "加载完成!";
sta.Enabled = true;
}
});
} }
218// 、滚动视图
().
UIImageView img;
UIScrollView scr;
public override void ViewDidLoad()
{
base.ViewDidLoad();
img = new UIImageView(UIImage.FromFile("1.png"));
scr = new UIScrollView();
scr.Frame = new RectangleF(,,,);
scr.ContentSize = img.Image.Size; //滚动范围
scr.ContentOffset = new PointF(200f,50f); //目前滚动位置
scr.PagingEnabled = true; //可以整页翻动
scr.MinimumZoomScale=0.25f; //缩放最小比例
scr.MaximumZoomScale=2f; //放大的最大比例
//获取要缩放的图像视图
scr.ViewForZoomingInScrollView=delegate (UIScrollView scrll){
return this.img;
};
scr.ZoomScale = 1f; //设置变化比例
scr.IndicatorStyle = UIScrollViewIndicatorStyle.Black; //滚动指示器的风格设置
scr.AddSubview(img);
this.View.AddSubview(scr);
}
().
UIScrollView scr = new UIScrollView();
scr.Frame = new RectangleF(,,,);
scr.ContentSize = new SizeF(,);
this.View.AddSubview(scr);
//滚动视图开始时调用
scr.Scrolled+=delegate {
Console.WriteLine("Start rolling");
};
//滚动视图结束时调用
scr.DecelerationEnded+=delegate {
Console.WriteLine("Start End");
};
float y = ;
for (float i = ; i < ; i++) {
UILabel lab = new UILabel();
lab.Frame = new RectangleF(,y,,);
lab.BackgroundColor = UIColor.Cyan;
lab.Text = String.Format("{0}",i);
scr.AddSubview(lab);
y += ; }
265// 、页面控件
UIImageView img1;
UIImageView img2;
UIImageView img3;
UIScrollView scr;
UIPageControl pagc;
public override void ViewDidLoad()
{
base.ViewDidLoad();
//添加滚动视图
scr = new UIScrollView();
scr.Frame = new RectangleF(,,,);
//滚动视图结束滚动时调用
scr.DecelerationEnded += this.scr_DecelerationEnded;
//添加页面
pagc = new UIPageControl();
pagc.Frame = new RectangleF(,,,);
pagc.Pages = ; //设置页面数值 及页面小白点
//当页面数值发生改变时调用
pagc.ValueChanged += this.pagc_ValueChanged;
//滚动视图的滚动事件
scr.Scrolled+=delegate {
Console.WriteLine("Scolled!");
};
scr.PagingEnabled = true;
RectangleF rf = (RectangleF)scr.Frame;
scr.ContentSize = new SizeF(rf.Width*,rf.Height);
//添加图像视图
img1 = new UIImageView();
img1.ContentMode = UIViewContentMode.ScaleAspectFit;
img1.Image = UIImage.FromFile("1.jpg");
rf.X += (float)this.scr.Frame.Width;
img2 = new UIImageView();
img2.ContentMode = UIViewContentMode.ScaleAspectFit;
img2.Image = UIImage.FromFile("2.jpg");
rf.X += (float)this.scr.Frame.Width;
img3 = new UIImageView();
img3.ContentMode = UIViewContentMode.ScaleAspectFit;
img3.Image = UIImage.FromFile("3.jpg");
rf.X += (float)this.scr.Frame.Width; scr.AddSubview(img1);
scr.AddSubview(img2);
scr.AddSubview(img3);
this.View.AddSubview(scr);
this.View.AddSubview(pagc); } public void scr_DecelerationEnded(object sender,EventArgs e) {
float x1 = (float)this.img1.Frame.X;//获取图像img1 的x位置
float x2 = (float)this.img2.Frame.X;//获取图像img2的x位置
float x = (float)this.scr.ContentOffset.X;//获取视图对象scrolview scr 目前滚动的x位置 //判断x是否和x1相等
if (x == x1)
{
this.pagc.CurrentPage = ; }
else if (x == x2)
{
this.pagc.CurrentPage = ; }
else
{
this.pagc.CurrentPage = ; } }
public void pagc_ValueChanged(object sender, EventArgs e)
{
PointF pf = (PointF)this.scr.ContentOffset;
switch (this.pagc.CurrentPage) {
case :
pf.X = (float)this.img1.Frame.X;
this.scr.SetContentOffset(pf,true);
break;
case :
pf.X = (float)this.img2.Frame.X;
this.scr.SetContentOffset(pf, true);
break;
case :
pf.X = (float)this.img3.Frame.X;
this.scr.SetContentOffset(pf, true);
break;
default:
break;
}
}
357// 、警告视图
UIAlertView a = new UIAlertView();
a.Title = "提示";
a.Message = "电量不足";
a.AddButton("确定");
a.Show();
UIButton btn = new UIButton();
btn.Frame = new RectangleF(150,310,80,30); //按钮位置一件宽高
btn.SetTitle("Button",UIControlState.Normal); //显示的文字
btn.SetTitleColor(UIColor.Black,UIControlState.Normal);//文字的颜色
btn.TouchUpInside += this.SetBackGroudColor; //按钮 触摸事件
this.View.AddSubview(btn); //添加到当前视图
2、图像视图 UIImageView
UIImageView img=new UIImageView();
img.Frame = new RectangleF(0,0,375,667); //设置位置大小
img.ContentMode = UIViewContentMode.ScaleAspectFit; //设置图像视图模式
img.Image = UIImage.FromFile("img.jpg"); //设置图像
img.Transform = CGAffineTransform.MakeRotation(20);//图像旋转正数顺时针旋转,负数逆时针旋转
img.Transform = CGAffineTransform.MakeScale(-2,2); //图像缩放
this.View.AddSubview(img); //添加到当前视图
3、label控件 UILabel
lbl1.Frame = new RectangleF(2,410,155,28);
lbl1.Text = "UILabel";
lbl1.Lines = 3; //显示行数 配合 label高度 使用
lbl1.LineBreakMode = UILineBreakMode.MiddleTruncation; //内容显示样式
lbl1.Hidden = true; //是否显示
this.View.AddSubview(lbl1);
4、输入框 UITextField
UITextField t1 = new UITextField();
t1.BorderStyle = UITextBorderStyle.RoundedRect;
t1.Frame = new RectangleF(50,250,300,30);
t1.Placeholder = "账号";
// 限制输入字符长度
t1.ShouldChangeCharacters = (textField, range, replacementString) => {
if (range.Location < 10)
return true;
else
return false;
};
this.View.AddSubview(t1);
UITextField t2 = new UITextField();
t2.Frame = new RectangleF(50, 300, 300, 30);
t2.Placeholder = "密码";
t2.SecureTextEntry = true; //隐藏文本
this.View.AddSubview(t2);
UITextView text = new UITextView();
text.Frame = new RectangleF(9, 90, 302, 180);
this.View.AddSubview(text);
5、UITextView 实现功能:点击完成按钮隐藏键盘,并且把text的Text值赋值给text1控件,并监控 text控件的状态(开始输入,结束输入,输入中)
UITextView text1 = new UITextView();
text1.Frame = new RectangleF(9, 330, 302, 180);
text1.Editable = false;
this.View.AddSubview(text1);
text1.Hidden = true;
UIButton btn = new UIButton();
btn.Frame = new RectangleF(137,56,46,30);
btn.SetTitle("完成", UIControlState.Normal);
btn.SetTitleColor(UIColor.Red,UIControlState.Normal);
this.View.AddSubview(btn);
btn.TouchUpInside += (sender, e) => {
text.ResignFirstResponder();
text1.Hidden=false;
text1.Text = text.Text;
};
text.Delegate = new MyDelegate();
}
private class MyDelegate : UITextViewDelegate
{
public override void EditingEnded(UITextView textView)
{
Console.WriteLine("Edit end");
}
public override void EditingStarted(UITextView textView)
{
Console.WriteLine("Edit start");
}
public override void Changed(UITextView textView)
{
Console.WriteLine("Edit ");
}
}
6、 输入框键盘 样式类型 设置
UITextField fied = new UITextField();
fied.Frame = new RectangleF(50, 100, 300, 30);
fied.BorderStyle = UITextBorderStyle.Line;
this.View.AddSubview(fied);
fied.KeyboardType = UIKeyboardType.Url;//设置键盘类型
fied.KeyboardAppearance = UIKeyboardAppearance.Dark;// 设置键盘外观
fied.ReturnKeyType = UIReturnKeyType.Next;//设置键盘的Return键
7、显示键盘 时改变输入框的位置
UITextField fied = new UITextField();
private NSObject kbdWillShow, kbdDidHide;
public override void ViewDidLoad()
{
base.ViewDidLoad();
fied.Frame = new RectangleF(10, 500, 300, 30);
fied.BorderStyle = UITextBorderStyle.RoundedRect;
this.View.AddSubview(fied);
//显示键盘前 (事件)
kbdWillShow = UIKeyboard.Notifications.ObserveWillShow((s, e) => {
RectangleF kbdRounds = (RectangleF)e.FrameEnd;
RectangleF textFrame = (RectangleF)fied.Frame;
textFrame.Y -= kbdRounds.Height;
fied.Frame = textFrame;
});
//隐藏键盘后 (事件)
kbdDidHide = UIKeyboard.Notifications.ObserveDidHide((s, e) =>
{
RectangleF kbdRounds = (RectangleF)e.FrameEnd;
RectangleF textFrame = (RectangleF)fied.Frame;
textFrame.Y += kbdRounds.Height;
fied.Frame = textFrame;
});
//键盘上的return键 隐藏键盘 (事件)
fied.ShouldReturn=delegate(UITextField textField) {
return textField.ResignFirstResponder();
};
}
8、 为输入框键盘 添加工具栏
UITextField fied = new UITextField();
fied.Frame = new RectangleF(10, 200, 300, 30);
fied.BorderStyle = UITextBorderStyle.RoundedRect;//设置输入框边框
this.View.AddSubview(fied);
fied.KeyboardType = UIKeyboardType.EmailAddress;//设置键盘类型
//设施工具栏
UIToolbar bar = new UIToolbar();//实例化工具栏
bar.SizeToFit();
bar.BackgroundColor = UIColor.DarkGray;//设置背景
//实例化 工具栏 按钮
UIBarButtonItem item = new UIBarButtonItem("完成", UIBarButtonItemStyle.Done, (s, e) =>
{
//隐藏键盘
fied.ResignFirstResponder();
});
//为工具栏设置条目
bar.SetItems(new UIBarButtonItem[]{ item},true);
//为输入框 键盘添加工具栏
fied.InputAccessoryView = bar;
9、文本视图菜单 退出按钮
public override void ViewDidLoad()
{
tf.Frame = new RectangleF(20,10,300,100);
this.View.AddSubview(tf);
UIMenuItem item = new UIMenuItem("退出", new Selector("hide"));//添加菜单按钮
UIMenuController c = UIMenuController.SharedMenuController;
c.MenuItems = new UIMenuItem[] { item };
}
UITextView tf = new UITextView();
[Export("hide")]
public void hide() {
//退出键盘
tf.ResignFirstResponder();
}
10、触摸背景隐藏键盘
public override void ViewDidLoad()
{
tf.Frame = new RectangleF(10,50,300,30);
tf.BorderStyle = UITextBorderStyle.RoundedRect;
this.View.AddSubview(tf);
}
/// <summary>
///重写 ViewController 方法 TouchesBegan
/// </summary>
/// <param name="touches">Touches.</param>
/// <param name="evt">Evt.</param>
public override void TouchesBegan(NSSet touches, UIEvent evt)
{
tf.ResignFirstResponder();
}
11、进度条控件 UIProgressView 先在添加一个lable lbl 和一个button sta
public override void ViewDidLoad()
{
//按钮的触摸事件
sta.TouchUpInside+=delegate {
sta.Enabled = false;
pv.Progress = 0f;
//创建一个新的任务 用来计算 进度条的值 并更新视图
Task.Factory.StartNew(this.Start);
};
/创建进度条 并添加到视图
pv = new UIProgressView(new RectangleF(60f,200f,200f,50f));
pv.Progress = 0f;
f = 1f / 10f;
this.View.AddSubview(pv);
}
UIProgressView pv;
float f = 0f;
public void Start() {
float p = 0f;
while (p<1f) {
Thread.Sleep(1000);
//调用主线程 修改视图
this.InvokeOnMainThread(delegate {
pv.Progress += this.f;
p = pv.Progress;
lbl.Text = Math.Round(pv.Progress, 2).ToString();
if (p >= 1f)
{
lbl.Text = "加载完成!";
sta.Enabled = true;
}
});
}
}
12、滚动视图
(1).
UIImageView img;
UIScrollView scr;
public override void ViewDidLoad()
{
base.ViewDidLoad();
img = new UIImageView(UIImage.FromFile("1.png"));
scr = new UIScrollView();
scr.Frame = new RectangleF(0,0,320,568);
scr.ContentSize = img.Image.Size; //滚动范围
scr.ContentOffset = new PointF(200f,50f); //目前滚动位置
scr.PagingEnabled = true; //可以整页翻动
scr.MinimumZoomScale=0.25f; //缩放最小比例
scr.MaximumZoomScale=2f; //放大的最大比例
//获取要缩放的图像视图
scr.ViewForZoomingInScrollView=delegate (UIScrollView scrll){
return this.img;
};
scr.ZoomScale = 1f; //设置变化比例
scr.IndicatorStyle = UIScrollViewIndicatorStyle.Black; //滚动指示器的风格设置
scr.AddSubview(img);
this.View.AddSubview(scr);
}
(2).
UIScrollView scr = new UIScrollView();
scr.Frame = new RectangleF(0,0,325,568);
scr.ContentSize = new SizeF(320,2000);
this.View.AddSubview(scr);
//滚动视图开始时调用
scr.Scrolled+=delegate {
Console.WriteLine("Start rolling");
};
//滚动视图结束时调用
scr.DecelerationEnded+=delegate {
Console.WriteLine("Start End");
};
float y = 10;
for (float i = 1; i < 21; i++) {
UILabel lab = new UILabel();
lab.Frame = new RectangleF(0,y,320,50);
lab.BackgroundColor = UIColor.Cyan;
lab.Text = String.Format("{0}",i);
scr.AddSubview(lab);
y += 100;
13、页面控件
UIImageView img1;
UIImageView img2;
UIImageView img3;
UIScrollView scr;
UIPageControl pagc;
public override void ViewDidLoad()
{
base.ViewDidLoad();
//添加滚动视图
scr = new UIScrollView();
scr.Frame = new RectangleF(0,0,320,495);
//滚动视图结束滚动时调用
scr.DecelerationEnded += this.scr_DecelerationEnded;
//添加页面
pagc = new UIPageControl();
pagc.Frame = new RectangleF(0,540,320,37);
pagc.Pages = 3; //设置页面数值 及页面小白点
//当页面数值发生改变时调用
pagc.ValueChanged += this.pagc_ValueChanged;
//滚动视图的滚动事件
scr.Scrolled+=delegate {
Console.WriteLine("Scolled!");
};
scr.PagingEnabled = true;
RectangleF rf = (RectangleF)scr.Frame;
scr.ContentSize = new SizeF(rf.Width*3,rf.Height);
//添加图像视图
img1 = new UIImageView();
img1.ContentMode = UIViewContentMode.ScaleAspectFit;
img1.Image = UIImage.FromFile("1.jpg");
rf.X += (float)this.scr.Frame.Width;
img2 = new UIImageView();
img2.ContentMode = UIViewContentMode.ScaleAspectFit;
img2.Image = UIImage.FromFile("2.jpg");
rf.X += (float)this.scr.Frame.Width;
img3 = new UIImageView();
img3.ContentMode = UIViewContentMode.ScaleAspectFit;
img3.Image = UIImage.FromFile("3.jpg");
rf.X += (float)this.scr.Frame.Width;
scr.AddSubview(img1);
scr.AddSubview(img2);
scr.AddSubview(img3);
this.View.AddSubview(scr);
this.View.AddSubview(pagc);
}
public void scr_DecelerationEnded(object sender,EventArgs e) {
float x1 = (float)this.img1.Frame.X;//获取图像img1 的x位置
float x2 = (float)this.img2.Frame.X;//获取图像img2的x位置
float x = (float)this.scr.ContentOffset.X;//获取视图对象scrolview scr 目前滚动的x位置
//判断x是否和x1相等
if (x == x1)
{
this.pagc.CurrentPage = 0;
}
else if (x == x2)
{
this.pagc.CurrentPage = 1;
}
else
{
this.pagc.CurrentPage = 2;
}
}
public void pagc_ValueChanged(object sender, EventArgs e)
{
PointF pf = (PointF)this.scr.ContentOffset;
switch (this.pagc.CurrentPage) {
case 0:
pf.X = (float)this.img1.Frame.X;
this.scr.SetContentOffset(pf,true);
break;
case 1:
pf.X = (float)this.img2.Frame.X;
this.scr.SetContentOffset(pf, true);
break;
case 2:
pf.X = (float)this.img3.Frame.X;
this.scr.SetContentOffset(pf, true);
break;
default:
break;
}
}
14、警告视图
UIAlertView a = new UIAlertView();
a.Title = "提示";
a.Message = "电量不足";
a.AddButton("确定");
a.Show();
Xamarin.ios 基本控件的更多相关文章
- Xamarin Studio在Mac环境下的配置和Xamarin.iOS常用控件的示例
看过好多帖子都是Win环境装XS,Mac只是个模拟器,讲解在Mac环境下如何配置Xamarin Studio很少,也是一点点找资料,东拼西凑才把Xamarin Studio装在Mac上跑起来,如下: ...
- JS调用Android、Ios原生控件
在上一篇博客中已经和大家聊了,关于JS与Android.Ios原生控件之间相互通信的详细代码实现,今天我们一起聊一下JS调用Android.Ios通信的相同点和不同点,以便帮助我们在进行混合式开发时, ...
- 初识IOS,Label控件的应用。
初识IOS,Label控件的应用. // // ViewController.m // Gua.test // // Created by 郭美男 on 16/5/31. // Copyright © ...
- IOS—UITextFiled控件详解
IOS—UITextFiled控件详解 //初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGR ...
- [iOS基础控件 - 5.5] 代理设计模式 (基于”APP列表"练习)
A.概述 在"[iOS基础控件 - 4.4] APP列表 进一步封装,初见MVC模式”上进一步改进,给“下载”按钮加上效果.功能 1.按钮点击后,显示为“已下载”,并且不 ...
- android 仿ios开关控件
ios一些控件还是挺美丽的,可是对android程序猿来说可能比較苦逼,由于ios一些看起来简单的效果对android来说可能就没那么简单了,可是没办法非常多产品都是拿ios的一些控件叫android ...
- Xamarin.Forms单元控件Cell
Xamarin.Forms单元控件Cell 单元控件Cell是Xamarin.Forms为ListView和TableView专门定制的一类项目元素.它包括5个控件,分别为文本框单元EntryCe ...
- Xamarin.Forms XAML控件的公共属性
Xamarin.Forms XAML控件的公共属性 Xamarin.Forms XAML控件有很多.通过官网API,可以查看每个控件的属性.但是官网只给出了控件的特有属性,而公共属性没有列出.所以 ...
- 79.iOS 设备的UI规范和iOS各控件默认高度
iOS设备的UI 规范 iPhone界面尺寸 iPhone图标尺寸 iPad的设计尺寸 iPad图标尺寸 iPhone设备尺寸分辨率比例 iPhone各设备 launch image iOS 各种控件 ...
随机推荐
- JavaScript数组方法reduce解析
Array.prototype.reduce() 概述 reduce()方法是数组的一个实例方法(共有方法),可以被数组的实例对象调用.reduce() 方法接收一个函数作为累加器(accumulat ...
- GridView的各种属性
<GridView android:id="@+id/movie_list" android:layout_width="906dp" android:l ...
- Linux2.6内核进程调度系列--scheduler_tick()函数3.更新普通进程的时间片
RT /** * 运行到此,说明进程是普通进程.现在开始更新普通进程的时间片. */ /* 首先递减普通进程的时间片计数器.如果用完,继续执行以下操作 */ if (!--p->time_sli ...
- iOS编码规范
The official raywenderlich.com Objective-C style guide. This style guide outlines the coding con ...
- 安卓DJ113舞曲网应用客户端 项目源码(服务器+客户端)
Android DJ113舞曲网app客户端 播放器源码 项目源码(服务器+客户端),这个项目整体有点类似天天动听的效果,非常漂亮的,支持第三方登录等功能,非常完整的一个音乐项目. 源码下载:htt ...
- 转载文章(Redis中对key的操作)
转载地址:http://www.cnblogs.com/stephen-liu74/archive/2012/03/26/2356951.html 一.概述: 在该系列的前几篇博客中,主要讲述的是与R ...
- 使用rsync同步目录
本文描述了linux下使用rsync单向同步两个机器目录的问题. 使用rsync同步后可以保持目录的一致性(含删除操作). 数据同步方式 从主机拉数据 备机上启动的流程 同步命令: rsync -av ...
- 优化SQLServer--表和索引的分区(二)
简介 之前一篇简单的介绍了语法和一些基本的概念,隔了一段时间,觉得有必要细致的通过实例来总结一下这部分内容.如之前所说,分区就是讲大型的对象(表)分成更小的块来管理,基本单位是行.这也就产生了很大优势 ...
- ASP.NET MVC Filters 4种默认过滤器的使用【附示例】
过滤器(Filters)的出现使得我们可以在ASP.NET MVC程序里更好的控制浏览器请求过来的URL,不是每个请求都会响应内容,只响应特定内容给那些有特定权限的用户,过滤器理论上有以下功能: 判断 ...
- centos本地yum源安装
1.为DVD或U盘创建一个用于挂载的目录 [root@localhost ~]# mkdir /media/CentOS/ 2.查看DVD或U盘所在的路径 [root@localhost ~]# fd ...