ios3--UIView的常见方法

简介:
复制代码
//
//  ViewController.m
//  07-UIView的常见方法
//

#import "ViewController.h"

@interface ViewController ()
// 红色的view,通过连线,连线就是把oc代码和UI绑定了。
@property (weak, nonatomic) IBOutlet UIView *redView;

/** 红色的view  */
@property (nonatomic, weak) UIView *redView1;

@property (weak, nonatomic) IBOutlet UIButton *btn1;//这些控件不会死,所以可以用weak,
@property (weak, nonatomic) IBOutlet UIButton *btn2;
@property (weak, nonatomic) IBOutlet UIButton *btn3;


@end


/**
 *  尽量少使用tag:
    1> tag的效率非常差
    2> tag使用多了,容易乱
 */
@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    // 根据tag拿到对应的view
    UIView *redView = [self.view viewWithTag:1];
    self.redView = redView;
    
    
   // 1.1 创建UISwitch对象
    UISwitch *sw = [[UISwitch alloc] init];
    
   // 1.2 加到控制器的view中
    [self.view addSubview:sw];
    
    // 1.3 创建UISwitch对象
    UISwitch *sw1 = [[UISwitch alloc] init];
    
    // 1.4 加到红色的view
    [redView addSubview:sw1];
    
    // 1.5 创建一个选项卡对象
    UISegmentedControl *sg = [[UISegmentedControl alloc] initWithItems:@[@"哈哈哈", @"", @"嘻嘻"]];
    // 1.6 加到红色的view
    [redView addSubview:sg];
    
    // 1.7 移除
//  [sg removeFromSuperview];
//  [self.redView removeFromSuperview];
//  [sw removeFromSuperview];
    [self.view removeFromSuperview];// 这里移除不了
    
}

#pragma mark - 伪代码---viewWithTag,所以通过tag效率很差
/* 
- (UIView *)viewWithTag: (NSInteger)tag{
    if (self.tag == tag) return self;
    for (UIView *subView in self.subviews) {
        if (subView.tag == tag)  return subView;
        // 继续递归遍历
        // ..
    }
}*/


// 只要控件有父控件,就一定能够移除
- (void)viewDidAppear:(BOOL)animated{
    [super viewDidAppear:animated];
//    [self.view removeFromSuperview];  这里可以移除控制器的view,
}


- (IBAction)remove {
    [self.redView removeFromSuperview];
}

- (IBAction)clickBtn:(UIButton *)button { //连线就是把方法和控件连接起来了。
    // 做私人的事情
    
    if (button == self.btn1) {
        NSLog(@"点击了按钮1");
    }else if (button == self.btn2) {
        NSLog(@"点击了按钮2");
    }else{
        NSLog(@"点击了按钮3");
    }
    
    
    switch (button.tag) {
        case 3:
            NSLog(@"点击了按钮1");
            break;
        case 4:
            NSLog(@"点击了按钮2");
            break;
        case 5:
            NSLog(@"点击了按钮3");
            break;
        default:
            break;
    }
    
    // 做公共的事情
    NSLog(@"做公共的事情");
}


@end
复制代码

 


本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/7446939.html,如需转载请自行联系原作者

相关文章
|
7月前
|
移动开发 前端开发 数据安全/隐私保护
iOS发布证书.p12文件无密码解决办法及导出带密码的新.p12文件方法
iOS发布证书.p12文件无密码解决办法及导出带密码的新.p12文件方法
206 0
|
7月前
|
安全 编译器 开发工具
​iOS安全加固方法及实现
​iOS安全加固方法及实现
71 0
​iOS安全加固方法及实现
|
7月前
|
存储 监控 iOS开发
iOS应用崩溃了,如何通过崩溃手机连接电脑查找日志方法
在iOS应用开发过程中,调试日志和奔溃日志是开发者必不可少的工具。当iOS手机崩溃时,我们可以连接电脑并使用Xcode Console等工具来查看日志。然而,这种方式可能不够方便,并且处理奔溃日志也相当繁琐。克魔助手的出现为开发者带来了极大的便利,本文将详细介绍其功能和使用方法。 克魔助手会提供两种日志,一种是实时的,一种的是崩溃的。(由于崩溃日志的环境很麻烦,目前只展示实时日志操作步骤)
|
7月前
|
存储 iOS开发 开发者
使用克魔助手进行iOS数据抓包和HTTP抓包的方法详解
使用克魔助手进行iOS数据抓包和HTTP抓包的方法详解
105 0
|
iOS开发 开发者
📝 App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
在iOS应用程序开发过程中,进行App备案并获取公钥及证书SHA-1指纹是至关重要的步骤。本文将介绍如何通过appuploader工具获取iOS云管理式证书 Distribution Managed 公钥及证书SHA-1指纹,帮助开发者更好地理解和应用该过程。
|
7月前
|
小程序 前端开发 Android开发
解决小程序中textarea ios端样式不兼容的两种方法
解决小程序中textarea ios端样式不兼容的两种方法
214 0
|
10天前
|
安全 Swift iOS开发
Swift 与 UIKit 在 iOS 应用界面开发中的关键技术和实践方法
本文深入探讨了 Swift 与 UIKit 在 iOS 应用界面开发中的关键技术和实践方法。Swift 以其简洁、高效和类型安全的特点,结合 UIKit 丰富的组件和功能,为开发者提供了强大的工具。文章从 Swift 的语法优势、类型安全、编程模型以及与 UIKit 的集成,到 UIKit 的主要组件和功能,再到构建界面的实践技巧和实际案例分析,全面介绍了如何利用这些技术创建高质量的用户界面。
19 2
|
4月前
|
语音技术 开发工具 图形学
Unity与IOS⭐一、百度语音IOS版Demo调试方法
Unity与IOS⭐一、百度语音IOS版Demo调试方法
|
4月前
|
iOS开发
App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
203 0
App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法
|
7月前
|
Android开发 iOS开发 开发者
App备案-iOS云管理式证书 Distribution Managed 公钥及证书SHA-1指纹的获取方法
App备案-iOS云管理式证书 Distribution Managed 公钥及证书SHA-1指纹的获取方法
415 0