mono touch中UISegmentedControl控件的使用

本文介绍了如何使用UISegmentedControl创建交互式视图标签控件,包括设置样式、添加图标及响应ValueChanged事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有不明白的地方欢迎入群 347636249 探讨
using System;
//
using MonoTouch.UIKit;
using MonoTouch.Foundation;
using System.Drawing;

namespace GCForum
{
	public class MyTestVC :UIViewController
	{
		public MyTestVC ()
		{
		}

		private UISegmentedControl _segmentedControl;
		public override void ViewDidLoad ()
		{
			base.ViewDidLoad ();
			this.View.BackgroundColor = UIColor.White;

			UILabel lbl = chongqing.ControlCenter.CreateLbl (new RectangleF (10, 100, 150, 20), "");
			this.View.Add (lbl);

			_segmentedControl = new UISegmentedControl (new object[] { 
				"one","two","three","four"
			});
			
			_segmentedControl.Frame = new RectangleF (10, 10, this.View.Frame.Width - 20, 50);
			_segmentedControl.ControlStyle = UISegmentedControlStyle.Bar;
			_segmentedControl.TintColor = UIColor.Blue;
			_segmentedControl.SetImage (UIImage.FromFile ("theme/red/courwatch.png"), 0);
			_segmentedControl.SelectedSegment = 1;//让第二项选中

			//===============>two
			//lbl.Text = _segmentedControl.TitleAt (_segmentedControl.SelectedSegment) ?? "title not set";

			//注册VlueChange事件
			_segmentedControl.ValueChanged += (s,e) => {
				lbl.Text = _segmentedControl.TitleAt (_segmentedControl.SelectedSegment) ?? "title not set";
			};

			this.View.AddSubview (_segmentedControl); //注意是AddSubview方法,非Add
		}

		//...

	}
}

基本上,UISegmentedControl就是视图标签控件。虽然也可用它创建分类菜单,但它用的最多的还是让用户在一组特定的子视图中互动,有效地对视图分组。

这个控件由多个按钮组成,分成不同的标签页。每个按钮都可以有自己的标题和图标,而控件本身可以采用不同的风格。


这里做一下说明,mono touch工程中有一个Resources文件夹,它是当前项目文件的资源文件夹,所有的资源文件可放入(只是一个默认的,不是说非要放进去,可自己定义目录文件夹都行),所以这里的UIImage.FromFile ("theme/red/courwatch.png")可以自动解析到该文件夹下。


当然了,这里主要的还是ValueChanged方法,从最近的几篇文章来看,有些控件都有这个ValueChanged的共有方法,可考虑写做一定的设计动态处理,当然这是后话了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值