您的位置:首页 > 产品设计 > UI/UE

UISegmentControl

2015-08-22 11:37 387 查看
QQ的显示有消息,电话两个选项。

本次就是制作一个QQ简单布局视图。

本程序的机构是创建一个根视图控制器,一个Message视图控制器,一个Phone视图控制器。对视图的控件没有添加,只是利用SegmentControl来切换视图。

重点

1.SegmentControl默认显示

_segmentC.selectedSegmentIndex  = 0;


2.可以给segment添加图片,但必须是镂空图。

3.用switch来选择点击了那个按钮;

switch (segment.selectedSegmentIndex)


4.给segment添加方法

[_segmentC addTarget:self action:@selector(exchangeView:) forControlEvents:UIControlEventValueChanged];


下面是根视图控制器的源代码

#import "RootViewController.h"
#import "MessageViewController.h"
#import "PhoneViewController.h"

@interface RootViewController ()

@property(nonatomic,retain)UISegmentedControl *segmentC;
@property(nonatomic,retain)MessageViewController *messageVC;
@property(nonatomic,retain)PhoneViewController *phoneVC;

@end

@implementation RootViewController

- (void)dealloc
{
[_segmentC release];
[super dealloc];
}

- (void)viewDidLoad {
[super viewDidLoad];

self.view.backgroundColor = [UIColor whiteColor];

#pragma mark -------------UISegmentedControl

[self createSegmentControl];

// Do any additional setup after loading the view.

#pragma mark -----------------向容器视图控制器中添加子视图控制器

[self createChildViewControllers];
}

-(void)createChildViewControllers
{
self.messageVC = [[MessageViewController alloc]init];

self.phoneVC = [[PhoneViewController alloc]init];

//    MessageViewController *mesVC = [[MessageViewController alloc]init] ;
//
//    PhoneViewController *phoneVC = [[PhoneViewController alloc]init];

[self addChildViewController:_messageVC];
[self addChildViewController:_phoneVC];

[self.view addSubview:_messageVC.view];
[self.view bringSubviewToFront:_segmentC];

[_phoneVC release];
[_messageVC release];

}

-(void)createSegmentControl{
UIImage *image1  = [UIImage imageNamed:@"360.png"];
NSArray *tittle = @[@"消息",@"电话",image1];
self.segmentC = [[UISegmentedControl alloc]initWithItems:tittle];

[self.view addSubview:_segmentC];
_segmentC.frame = CGRectMake(100, 100, 150, 50);

CGPoint temp = CGPointMake([UIScreen mainScreen].bounds.size.width/2, 50);

_segmentC.center = temp;

//默认选中
_segmentC.selectedSegmentIndex  = 0;

//颜色
[_segmentC setTintColor:[UIColor redColor]];

[_segmentC addTarget:self action:@selector(exchangeView:) forControlEvents:UIControlEventValueChanged];

[_segmentC release];
}

-(void)exchangeView:(UISegmentedControl *)segment{

//打印点击了那个按钮
NSLog(@"%d",segment.selectedSegmentIndex);

switch (segment.selectedSegmentIndex) {
case 0:
{

//显示messageVC

if (_messageVC.view.superview == nil) {
[_phoneVC.view removeFromSuperview];
[self.view addSubview:_messageVC.view];
}

//让segmentC显示
[self.view bringSubviewToFront:_segmentC];
}
break;
case 1:
{

//显示phonevC

if (_phoneVC.view.superview == nil) {
[_messageVC.view removeFromSuperview];
[self.view addSubview:self.phoneVC.view];
}
//让segmentC显示
[self.view bringSubviewToFront:_segmentC];
}
break;
default:
break;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: