zoukankan      html  css  js  c++  java
  • IOS UI 第三篇:基本UI

    工厂模式:

     
    .h文件:
     
    #import <Foundation/Foundation.h>
    typedef enum{
        QFRed,
        QFYellow,
        QFBlue
    }QFViewColor;


    @interface QFview : UIView
    +(
    id)viewWithColor:(QFViewColor)QFViewColorType;
    @end

    .m文件:
    +(id)viewWithColor:(QFViewColor)QFViewColorType{
        
    UIView *view = [[UIView allocinit];
        
    switch (QFViewColorType) {
            
    case QFRed:
                view.
    backgroundColor=[UIColor redColor];
                
    break;
            
    case QFYellow:
                view.
    backgroundColor=[UIColor yellowColor];
                
    break;
            
    case QFBlue:
                view.
    backgroundColor=[UIColor blueColor];
                
    break;
            
    default:
                view.
    backgroundColor=[UIColor whiteColor];
                
    break;
        }
        
    return view;
    }

     
     
    利用工厂模式显示view视图
     
        UIView *rootView = [[UIView allocinitWithFrame:CGRectMake(5050300300)];
        rootView.
    backgroundColor = [UIColor whiteColor];
        
        rootView.
    clipsToBounds = YES;
        
    //切割视图外部的东西
        
        
    UIView *redView = [QFview viewWithColor:QFRed];
        redView.
    frame = CGRectMake(00200200);
        [rootView 
    addSubview:redView];
        redView.
    alpha = 1;
        
        
    UIView *yellowView = [QFview viewWithColor:QFYellow];
        yellowView.
    frame = CGRectMake(5050150150);
        yellowView.
    alpha = 1;
        [rootView 
    addSubview:yellowView];
        
        
    UIView *blueView = [QFview viewWithColor:QFBlue];
        blueView.
    frame = CGRectMake(100100100100);
        [rootView 
    addSubview:blueView];
        
     
    图片显示:
     
    F7af194b450af0a64e8f2aba4ec8251d
    对视图进行层次化操作:
     
        //[rootView bringSubviewToFront:redView];
        
    //[rootView sendSubviewToBack:blueView];
        
        
    NSArray *rootViewSubviews = rootView.subviews;
        
    int yellowIndex = [rootViewSubviews indexOfObject:yellowView];
        
    int redIndex = [rootViewSubviews indexOfObject:redView];
        
        
    //[rootView exchangeSubviewAtIndex:yellowIndex withSubviewAtIndex:redIndex];
        
    /* 将红色 黄色调换 */
        
        
    UIView *greenView = [[UIView allocinitWithFrame:CGRectMake(1501505050)];
        greenView.
    backgroundColor = [UIColor greenColor];
        [rootView 
    insertSubview:greenView aboveSubview:blueView];
        
        [
    self.window addSubview:rootView];
     
     
    设置视图内的按键不可用
     
     
        UIButton *button = [UIButton buttonWithType:UIButtonTypeContactAdd];
        button.
    frame = CGRectMake(50505050);
        button.
    enabled = NO//设置按键不可用
        [rootView 
    addSubview:button];

        rootView.
    userInteractionEnabled = NO;
        
    //设置按键无法按下
        
     
    制作动画:
     
    9c4251f63f66110cdbf0a1b544dff435
     
    代码如下:
     
        UIImageView *imageView = [[UIImageView allocinitWithFrame:CGRectMake(1040300200)];
        imageView.
    backgroundColor = [UIColor redColor];
        
    //imageView.contentMode = UIViewContentModeScaleToFill;
        imageView.
    contentMode = UIViewContentModeScaleAspectFill;
        imageView.
    animationDuration = 1.5;
        
    //速度多少秒
        
    NSMutableArray *images = [NSMutableArray array];
        
    for (int i=1; i<=13; ++i) {
            [images 
    addObject:[UIImage imageNamed:[NSString stringWithFormat:@"png%d", i]]];
        
        }
        imageView.
    animationImages = images;
        
    //imageView.animationRepeatCount = 2;
        
    //图片重复多少次
        [imageView 
    startAnimating];
        [
    self.window addSubview:imageView];
     
     
    按钮可以换界面了、做四个界面每,按不同按钮切换不同界面:
     
    03824576b336c86788d31867ee44977a
     
     
    代码:
     
     
    #import "Xib.h"

    @interface Xib ()
    @property (weaknonatomicIBOutlet UIButton *button1;
    @property (weaknonatomicIBOutlet UIButton *button2;
    @property (weaknonatomicIBOutlet UIButton *button3;
    @property (weaknonatomicIBOutlet UIButton *button4;
    @property (weaknonatomicIBOutlet UIView *menuView;
    -(
    void)showRedView;
    -(
    void)showYellowView;
    -(
    void)showBlueView;
    -(
    void)showGreenView;
    @end

    @implementation Xib
    {
        
    UIView *redView;
        
    UIView *yellowView;
        
    UIView *blueView;
        
    UIView *greenView;
    }


    - (
    IBAction)selected_one:(id)sender {
        
    _button1.selected = NO;
        
    _button2.selected = NO;
        
    _button3.selected = NO;
        
    _button4.selected = NO;

        
    UIButton *btn = sender;
        
    NSLog(@"点击:%d",btn.tag);

        btn.
    selected = YES;
        
    switch (btn.tag) {
            
    case 0:
                [
    self showRedView];
                
    break;
            
    case 1:
                [
    self showYellowView];
                
    break;
            
    case 2:
                [
    self showBlueView];
                
    break;
            
    case 3:
                [
    self showGreenView];
                
    break;
        }
    }

    -(
    void)showRedView{
        
    if (redView == nil) {
            
    redView = [[UIView allocinitWithFrame:self.view.frame];
            
    redView.backgroundColor = [UIColor redColor];
            
    UILabel *label = [[UILabel allocinitWithFrame:CGRectMake(10010020050)];
            label.
    text = @"The first page";
            [
    redView addSubview:label];
            [
    self.view addSubview:redView];
        }
        [
    self.view bringSubviewToFront:redView];
        [
    self.view bringSubviewToFront:self.menuView];
    }

    -(
    void)showYellowView
    {
        
    if (yellowView == nil) {
            
    yellowView = [[UIView allocinitWithFrame:self.view.frame];
            
    yellowView.backgroundColor = [UIColor yellowColor];
            
    UILabel *label = [[UILabel allocinitWithFrame:CGRectMake(10010020050)];
            label.
    text = @"The second page";
            [
    yellowView addSubview:label];
            [
    self.view addSubview:yellowView];
        }
        [
    self.view bringSubviewToFront:yellowView];
        [
    self.view bringSubviewToFront:self.menuView];
    }
    -(
    void)showBlueView
    {
        
    if (blueView == nil) {
            
    blueView = [[UIView allocinitWithFrame:self.view.frame];
            
    blueView.backgroundColor = [UIColor blueColor];
            
    UILabel *label = [[UILabel allocinitWithFrame:CGRectMake(10010020050)];
            label.
    text = @"The third page";
            [
    blueView addSubview:label];
            [
    self.view addSubview:blueView];
        }
        [
    self.view bringSubviewToFront:blueView];
        [
    self.view bringSubviewToFront:self.menuView];
    }
    -(
    void)showGreenView
    {
        
    if (greenView == nil) {
            
    greenView = [[UIView allocinitWithFrame:self.view.frame];
            
    greenView.backgroundColor = [UIColor greenColor];
            
    UILabel *label = [[UILabel allocinitWithFrame:CGRectMake(10010020050)];
            label.
    text = @"The forth page";
            [
    greenView addSubview:label];
            [
    self.view addSubview:greenView];
        }
        [
    self.view bringSubviewToFront:greenView];
        [
    self.view bringSubviewToFront:self.menuView];
    }

    - (
    id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
    {
        
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
        
    if (self) {
            
    // Custom initialization
        }
        
    return self;
    }

    - (
    void)viewDidLoad
    {
        [
    super viewDidLoad];
        
    self.menuView.backgroundColor=[UIColor clearColor];
        
    // Do any additional setup after loading the view from its nib.
    }


  • 相关阅读:
    Silverlight 5 新特性
    熊市也要活命!高手总结熊市十大生存定律
    WEB服务器硬件配置要求
    你感冒了吗?——风寒来袭全攻略[转]
    看懂此文 你离赚钱就不远了
    开盘尾盘趋势定性法
    感冒全过程
    职业推手自曝微博炒作内幕 十万水军任你调遣!
    股票买卖规则
    通过均线找到牛股
  • 原文地址:https://www.cnblogs.com/firstrate/p/3636698.html
Copyright © 2011-2022 走看看