UI 第六节 uisegmentedControl uiimage uislider 课后习题

2024-02-07 19:58

本文主要是介绍UI 第六节 uisegmentedControl uiimage uislider 课后习题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


作业1:使⽤UISegmentedControl切换登录界⾯、注册界面,找回密码界 面。

#import "ViewController.h"

@interface ViewController ()

@property(nonatomic, retain)UISegmentedControl *segment;


@end

@implementation ViewController

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

- (void)viewDidLoad {
    [super viewDidLoad];
    [self loadSegment];
}


// 自定义方法
-(void)loadSegment
{
    self.segment = [[UISegmentedControl alloc]initWithItems:@[@"登录", @"注册", @"忘记密码"]];
    self.segment.frame = CGRectMake(10, 30, self.view.frame.size.width - 20, 30);
    [self.segment addTarget:self action:@selector(change:) forControlEvents:UIControlEventValueChanged];
    
    
    [self.view addSubview:_segment];
    [self.segment release];
}

-(void)change:(UISegmentedControl *)sender
{
    //判断 把没有sender的界面全部移除
    for(UIView *aview in self.view.subviews)
        if (aview != sender) {
            
            [aview removeFromSuperview];
        }
    
    switch (sender.selectedSegmentIndex) {
        case 0:
            [self  denglu];
            break;
        case 1:
            [self  zhuce];
            break;
        case 2:
            [self  forgetPassWord];
            break;
        default:
            break;
    }
    
    
    
}


-(void)denglu
{
    UILabel *lab = [[UILabel alloc]initWithFrame:CGRectMake(20, 120, self.view.frame.size.width - 40, 30)];
    lab.text = @"用户名";
    UILabel *lab1 = [[UILabel alloc]initWithFrame:CGRectMake(20, 180, self.view.frame.size.width - 40, 30)];
    lab1.text = @"密码";
    UIButton *but = [[UIButton alloc]initWithFrame:CGRectMake(40, 240, self.view.frame.size.width - 80, 30)];
    [but setTitle:@"登   录" forState:UIControlStateNormal];
    but.backgroundColor = [UIColor cyanColor];
    
    UITextField *field = [[UITextField alloc]initWithFrame:CGRectMake(CGRectGetMinX(lab.frame)+80, CGRectGetMinY(lab.frame), 150, 30)];
    field.placeholder = @"请输入用户名";
    field.borderStyle = UITextBorderStyleRoundedRect;
    
    UITextField *field1 = [[UITextField alloc]initWithFrame:CGRectMake(CGRectGetMinX(lab.frame)+80, CGRectGetMinY(lab1.frame), 150, 30)];
    field1.placeholder = @"密码";
    field1.secureTextEntry = YES;
    field1.borderStyle = UITextBorderStyleRoundedRect;
    
    [self.view addSubview:lab];
    [self.view addSubview:lab1];
    [self.view addSubview:but];
    [self.view addSubview:field];
    [self.view addSubview:field1];
    
    
    [lab release];
    [lab1 release];
    [but release];
    [field release];
    [field1 release];
}

-(void)zhuce
{
    
    UILabel *lab = [[UILabel alloc]initWithFrame:CGRectMake(20, 120, self.view.frame.size.width - 40, 30)];
    lab.text = @"注册";
    UILabel *lab1 = [[UILabel alloc]initWithFrame:CGRectMake(20, 180, self.view.frame.size.width - 40, 30)];
    lab1.text = @"设置密码";
    UIButton *but = [[UIButton alloc]initWithFrame:CGRectMake(40, 240, self.view.frame.size.width - 80, 30)];
    [but setTitle:@"注 册 完 成" forState:UIControlStateNormal];
    but.backgroundColor = [UIColor cyanColor];
    
    UITextField *field = [[UITextField alloc]initWithFrame:CGRectMake(CGRectGetMinX(lab.frame)+80, CGRectGetMinY(lab.frame), 150, 30)];
    field.placeholder = @"请输入用户名";
    field.borderStyle = UITextBorderStyleRoundedRect;
    
    UITextField *field1 = [[UITextField alloc]initWithFrame:CGRectMake(CGRectGetMinX(lab.frame)+80, CGRectGetMinY(lab1.frame), 150, 30)];
    field1.placeholder = @"密码";
    field1.secureTextEntry = YES;
    field1.borderStyle = UITextBorderStyleRoundedRect;
    
    [self.view addSubview:lab];
    [self.view addSubview:lab1];
    [self.view addSubview:but];
    [self.view addSubview:field];
    [self.view addSubview:field1];
    
    
    [lab release];
    [lab1 release];
    [but release];
    [field release];
    [field1 release];
    
}

-(void)forgetPassWord
{
    UILabel *lab = [[UILabel alloc]initWithFrame:CGRectMake(20, 120, self.view.frame.size.width - 40, 30)];
    lab.text = @"注册用手机/邮箱";
    UILabel *lab1 = [[UILabel alloc]initWithFrame:CGRectMake(20, 180, self.view.frame.size.width - 40, 30)];
    lab1.text = @"验证码";
    UIButton *but = [[UIButton alloc]initWithFrame:CGRectMake(40, 240, self.view.frame.size.width - 80, 30)];
    [but setTitle:@"确定找回" forState:UIControlStateNormal];
    but.backgroundColor = [UIColor cyanColor];
    
    UITextField *field = [[UITextField alloc]initWithFrame:CGRectMake(CGRectGetMinX(lab.frame)+150, CGRectGetMinY(lab.frame), 150, 30)];
    field.placeholder = @"手机号码/邮箱";
    field.borderStyle = UITextBorderStyleRoundedRect;
    
    UITextField *field1 = [[UITextField alloc]initWithFrame:CGRectMake(CGRectGetMinX(lab.frame)+150, CGRectGetMinY(lab1.frame), 150, 30)];
    field1.placeholder = @"验证码";
    field1.secureTextEntry = YES;
    field1.borderStyle = UITextBorderStyleRoundedRect;
    
    [self.view addSubview:lab];
    [self.view addSubview:lab1];
    [self.view addSubview:but];
    [self.view addSubview:field];
    [self.view addSubview:field1];
    
    
    [lab release];
    [lab1 release];
    [but release];
    [field release];
    [field1 release];
}


- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end



作业2:

创建3个UISlider对象。⽤用这3个UISlider对象控制 self.view.backgroundColor的变化。 3个UISlider对象分别控制UIColor的red,green,blue。 滑动任何⼀一个UISlider都会引起背景颜⾊色变化。
#import "ViewController.h"

@interface ViewController ()

@property(nonatomic, retain)UISlider *s1;
@property(nonatomic, retain)UISlider *s2;
@property(nonatomic, retain)UISlider *s3;
@property(nonatomic, retain)UIImageView *imageView;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    [self loadSlider];
    [self loadNewView];
    self.view.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:1];
    
    
}

-(void)dealloc
{
    [super dealloc];
    [self.s1 release];
    [self.s2 release];
    [self.s3 release];
    [self.imageView release];
    
}

//设置属性,添加s1,s2,s3的三种value 取值范围在0~1
-(void)loadSlider
{
    self.s1 = [[UISlider alloc]initWithFrame:CGRectMake(40, 50, self.view.frame.size.width - 80, 30)];
    self.s1.minimumTrackTintColor = [UIColor redColor];
    [self.s1 setThumbImage:[UIImage imageNamed:@"iconfont-shuxian"] forState:UIControlStateNormal];
    self.s1.thumbTintColor = [UIColor redColor];
    self.s1.minimumValue = 0.0f;
    self.s2.maximumValue = 1.0f;
    [self.view addSubview:_s1];
    [self.s1 release];
    
    
    self.s2 = [[UISlider alloc]initWithFrame:CGRectMake(40, 80, self.view.frame.size.width - 80, 30)];
    self.s2.minimumTrackTintColor = [UIColor greenColor];
    [self.s2 setThumbImage:[UIImage imageNamed:@"iconfont-shuxian"] forState:UIControlStateNormal];
    self.s2.thumbTintColor = [UIColor greenColor];
    self.s2.minimumValue = 0.0f;
    self.s3.maximumValue = 1.0f;
    [self.view addSubview:_s2];
    [self.s2 release];
    
    
    self.s3 = [[UISlider alloc]initWithFrame:CGRectMake(40,110, self.view.frame.size.width - 80, 30)];
    self.s3.minimumTrackTintColor = [UIColor blueColor];
    [self.s3 setThumbImage:[UIImage imageNamed:@"iconfont-shuxian"] forState:UIControlStateNormal];
    self.s3.thumbTintColor = [UIColor blueColor];
    self.s3.minimumValue = 0.0f;
    self.s3.maximumValue = 1.0f;
    [self.view addSubview:_s3];
    [self.s3 release];
    
    [self.s1 addTarget:self action:@selector(change:) forControlEvents:UIControlEventValueChanged];
    [self.s2 addTarget:self action:@selector(change:) forControlEvents:UIControlEventValueChanged];
    [self.s3 addTarget:self action:@selector(change:) forControlEvents:UIControlEventValueChanged];
   
}



//圆形显示动态图

-(void)loadNewView
{
    self.imageView = [[UIImageView alloc]initWithFrame:CGRectMake(40, 200, 300, 300)];
    self.imageView.backgroundColor = [UIColor whiteColor];
    self.imageView.layer.masksToBounds = YES;
    self.imageView.layer.cornerRadius = 150;
    
    NSMutableArray  *imgarr = [NSMutableArray array];
    for (int i = 1 ; i < 9 ; i++) {
        NSString *imgStr = [NSString stringWithFormat:@"abc_%d.tiff",i];
       //添加的是图片  不是图片名字(崩溃的敌方敌方)
        UIImage *img = [UIImage imageNamed:imgStr];
        [imgarr addObject:img];
    }
    
    self.imageView.animationImages = imgarr;
    [self.imageView startAnimating];
    
    [self.view addSubview:_imageView];
    [self.imageView release];
    
}

-(void)change:(UISlider *)sender
{
    //设置三原色混合
    self.view.backgroundColor = [UIColor colorWithRed:_s1.value green:_s2.value blue:_s3.value alpha:1];
    self.imageView.animationDuration = sender.value;
    [self.imageView startAnimating];
}



- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end





这篇关于UI 第六节 uisegmentedControl uiimage uislider 课后习题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/688753

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

【C++ Primer Plus习题】13.4

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: main.cpp #include <iostream>#include "port.h"int main() {Port p1;Port p2("Abc", "Bcc", 30);std::cout <<

Golang GUI入门——andlabs ui

官方不提供gui标准库,只好寻求第三方库。 https://github.com/google/gxui 这个gui库是谷歌内部人员提供的,并不是谷歌官方出品,现在停止维护,只好作罢。 第三方gui库 找了好多,也比较了好多,最终决定使用的是还是 https://github.com/andlabs/ui 相信golang gui还会发展的更好,期待更优秀的gui库 由于andlabs

第六章习题11.输出以下图形

🌏个人博客:尹蓝锐的博客 希望文章能够给到初学的你一些启发~ 如果觉得文章对你有帮助的话,点赞 + 关注+ 收藏支持一下笔者吧~ 1、题目要求: 输出以下图形

【C++ Primer Plus习题】12.2

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: main.cpp #include <iostream>#include "String.h"using namespace std;int main(){String s1(" and I am a

c++习题30-求10000以内N的阶乘

目录 一,题目  二,思路 三,代码    一,题目  描述 求10000以内n的阶乘。 输入描述 只有一行输入,整数n(0≤n≤10000)。 输出描述 一行,即n!的值。 用例输入 1  4 用例输出 1  24   二,思路 n    n!           0    1 1    1*1=1 2    1*2=2 3    2*3=6 4

C语言程序与设计第四版课后习题 - 1~8章大合集

前言 本文章是一个大合集,按照课后习题的命名方式命名,方便寻找,只需要在目录上点相对应的题号即可在这里插入图片描述 第一章课后习题 1.1 编写一个C程序 题目概述: 请参照本章例题,编写一个C程序,输出一下信息: *****************************Very good!***************************** 代码实现: #define

移动UI:分类列表页、筛选页的设计揭秘。

移动UI的列表页设计需要考虑用户体验和界面美观性,以下是一些建议的设计要点: 1. 列表项的展示: 列表页应该清晰地展示各个列表项,包括标题、副标题、缩略图等内容,以便用户快速浏览和识别。可以使用卡片式布局或者简洁的列表布局。 2. 搜索和筛选: 如果列表项较多,应该提供搜索和筛选功能,方便用户查找感兴趣的内容。搜索框和筛选条件可以放置在页面顶部或者底部,以便用户方便操作。

UI自动化测试常见面试题

1、什么是UI自动化测试? UI自动化测试是一种通过模拟用户交互并自动执行UI操作的软件测试方法。它用于验证用户界面的功能和稳定性,以确保在不同的操作系统、浏览器和设备上的一致性。 2、UI自动化测试的优势和劣势是什么? 优势: 可以节省时间和成本,提高测试效率。 可以自动执行大量的重复测试任务,减少人为错误。 可以实现广泛的测试覆盖,包括不同的操作系统、浏览器和设备。 可以提供稳定

【C++ Primer Plus习题】12.1

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: main.cpp #include <iostream>#include "Cow.h"using namespace std;int main(){Cow c1;Cow c2("老母牛", "喝奶"