iOS开发——基本控件(UIButton,UILabel,UITextField,UISwitch,UISlider,UISegmentedControl)

iOS14+Swift5.x+Xcode12学习笔记(3)——可视化控件 UIKit坐标系 以视窗的左上角为坐标原点,向右增加x的值,向下增加y的值。每个控件有两个和坐标与控件大小有关的属性,分别是frame和bounds。这两个属性中都包含了origin和size结构体。结构体size中包含width和height两个属性,分别记录了控件的宽度和高度,frame和bounds中的size属性是一样的。结构origin包含x和y两个属性,分别记录了控件的x坐标和y坐标。在frame中origin存储的值是控件左上角到父容器(superview)的左上角的举例,而bounds中or 阅读详情
<pre name="code" class="objc"><p style="margin-top: 0px; margin-bottom: 0px; font-size: 18px; font-family: Menlo; color: rgb(75, 209, 87);">UIButton<span style="font-family: 'Heiti SC Light';">定制:</span></p>


UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
    button.frame = CGRectMake(240, 20, 80, 30);
    button.tag = 10;
    [button setTitle:@"Next"
            forState:UIControlStateNormal];
    [button addTarget:self
               action:@selector(buttonPressed:)
     forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:button];

    /* UIButton定制 */
    // 定制按钮时采用类型UIButtonTypeCustom
    UIButton *customButton = [UIButton buttonWithType:UIButtonTypeCustom];
    customButton.frame = CGRectMake(20, 20, 50, 50);
    customButton.backgroundColor = [UIColor clearColor];
    
    // 定制标题文本
    [customButton setTitle:@"1" forState:UIControlStateNormal];
    [customButton setTitle:@"2" forState:UIControlStateHighlighted];
    
    // 定制标题文本色
    [customButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
    [customButton setTitleColor:[UIColor redColor] forState:UIControlStateHighlighted];
    
    // 定制标题文本类型
    customButton.titleLabel.font = [UIFont systemFontOfSize:30];
    
    // 定制图片显示
    // 1.配置图片
    [customButton setImage:[UIImage imageNamed:@"开灯"] forState:UIControlStateNormal];
    [customButton setImage:[UIImage imageNamed:@"关灯"] forState:UIControlStateHighlighted];
    [customButton setImage:[UIImage imageNamed:@"关灯"] forState:UIControlStateSelected];
    // 2.配置背景图
    // [customButton setBackgroundImage:[UIImage imageNamed:@"开灯"] forState:UIControlStateNormal];
    // [customButton setBackgroundImage:[UIImage imageNamed:@"关灯"] forState:UIControlStateHighlighted];
    
    // 配置选中状态,默认为NO
    customButton.selected = NO;
    // 配置是否启用控件,默认为YES
    customButton.enabled = YES;
    customButton.tag = 11;
    
    [customButton addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];
    
    [self.view addSubview:customButton];


<pre name="code" class="objc">/* UILabel文本自适应 */
    UIFont *font = [UIFont systemFontOfSize:15];
    // 普通标签
    UILabel *leftLabel = [[UILabel alloc] initWithFrame:CGRectMake(5, 300, 150, 30)];
    leftLabel.text = LONG_STRING;
    leftLabel.font = font;
    leftLabel.backgroundColor = [UIColor greenColor];
    [self.view addSubview:leftLabel];
    [leftLabel release];
    
    // 计算文本所占用空间大小
    // 定义计算空间边界大小
    CGSize constraintSize = CGSizeMake(150, 300);
    // 配置文本绘制选项
    NSStringDrawingOptions options = NSStringDrawingTruncatesLastVisibleLine | NSStringDrawingUsesFontLeading | NSStringDrawingUsesLineFragmentOrigin;
    // 配置计算属性参数
    NSDictionary *attributes = @{NSFontAttributeName: font};
    CGRect rect = [LONG_STRING boundingRectWithSize:constraintSize
 options:options attributes:attributes context:nil];
    
<p style="margin-top: 0px; margin-bottom: 0px; font-size: 18px; font-family: Menlo; color: rgb(75, 209, 87);">UILabel定制:</p>
    // 适应标签
    UILabel *rightLabel = [[UILabel alloc] initWithFrame:CGRectMake(CGRectGetMaxX(leftLabel.frame) + 5, leftLabel.frame.origin.y, CGRectGetWidth(rect), CGRectGetHeight(rect))];
    rightLabel.text = LONG_STRING;
    rightLabel.font = font;
    rightLabel.backgroundColor = [UIColor greenColor];
    // 配置可显示的行数,0表示不限制行数
    rightLabel.numberOfLines = 0;
    // 配置换行模式
    rightLabel.lineBreakMode = NSLineBreakByCharWrapping;
    [self.view addSubview:rightLabel];
    [rightLabel release];

<p style="margin-top: 0px; margin-bottom: 0px; font-size: 18px; font-family: Menlo; color: rgb(75, 209, 87);">UITextField<span style="font-family: 'Heiti SC Light';">定制:</span></p>

<pre name="code" class="objc">/* UITextField定制 */
    UITextField *textField = [[UITextField alloc] init];
    textField.bounds = CGRectMake(0, 0, 200, 25);
    textField.center = CGPointMake(160, 200);
    textField.borderStyle = UITextBorderStyleLine;
    textField.placeholder = @"请输入文本...";
    textField.font = font;
    // 配置委托对象
    textField.delegate = self;
    // 配置键盘显示类型
    textField.keyboardType = UIKeyboardTypeDefault;
    // 配置是否使用安全输入
    textField.secureTextEntry = NO;
    // 配置清除按钮显示逻辑
    textField.clearButtonMode = UITextFieldViewModeWhileEditing;
    // 配置是否自动大小写
    textField.autocapitalizationType = UITextAutocapitalizationTypeNone;
    // 配置是否自动更正
    textField.autocorrectionType = UITextAutocorrectionTypeNo;
    [self.view addSubview:textField];
    [textField release];

#pragma mark - UITextFieldDelegate methods


<pre name="code" class="objc">// 每次键盘文本输入时调用
// 文本限制:文本长度限制、文本输入内容限制
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {

    NSLog(@"range = %@ string = %@", NSStringFromRange(range), string);
    
    // 处理退格键
    if (string.length == 0) {
        return YES;
    }
    
    // 限制文本长度10
    if (range.location > 9) {
        return NO;
    }
    
    // 限制文本输入
    if ([@"1234567890" rangeOfString:string].location == NSNotFound) {
        return NO;
    }

    return YES;
}

// 是否可以开始编辑
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
    
    NSLog(@"%@", NSStringFromSelector(_cmd));
    return YES;
}

// 开始编辑
- (void)textFieldDidBeginEditing:(UITextField *)textField {
    
    NSLog(@"%@", NSStringFromSelector(_cmd));
}

// 点击确认按钮时调用
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    
    NSLog(@"%@", NSStringFromSelector(_cmd));
    
    // 关闭键盘
    [textField resignFirstResponder];
    return YES;
}

// 编辑完成
- (void)textFieldDidEndEditing:(UITextField *)textField {
    
    NSLog(@"%@", NSStringFromSelector(_cmd));
}

<p style="margin-top: 0px; margin-bottom: 0px; font-size: 18px; font-family: Menlo; color: rgb(75, 209, 87);">UISwitch <span style="font-family: 'Heiti SC Light';">开关定制:</span></p>
    // UISwitch 开关
    UISwitch *switchControl = [[UISwitch alloc] init];
    switchControl.bounds = CGRectMake(0, 0, 50, 30);
    switchControl.center = CGPointMake(160, 100);
    
    switchControl.onTintColor = [UIColor redColor];
    switchControl.tintColor = [UIColor darkGrayColor];
    switchControl.thumbTintColor = [UIColor blackColor];
    
    [switchControl addTarget:self action:@selector(processControl:) forControlEvents:UIControlEventValueChanged];
    
    [self.view addSubview:switchControl];
    [switchControl release];
    
<p style="margin-top: 0px; margin-bottom: 0px; font-size: 18px; font-family: Menlo; color: rgb(75, 209, 87);">UISlider <span style="font-family: 'Heiti SC Light';">滑条定制:</span></p>
    // UISlider 滑条
    UISlider *slider = [[UISlider alloc] init];
    slider.bounds = CGRectMake(0, 0, 200, 30);
    slider.center = CGPointMake(160, 180);
    slider.minimumValue = 0.0;
    slider.maximumValue = 1.0;
    slider.value = 1.0;
    slider.maximumTrackTintColor = [UIColor grayColor];
    slider.minimumTrackTintColor = [UIColor redColor];
    [slider addTarget:self action:@selector(processControl:) forControlEvents:UIControlEventValueChanged];
    [self.view addSubview:slider];
    [slider release];
    
<p style="margin-top: 0px; margin-bottom: 0px; font-size: 18px; font-family: Menlo; color: rgb(75, 209, 87);"> UISegmentedControl <span style="font-family: 'Heiti SC Light';">分段控件定制:</span></p>
    // UISegmentedControl 分段控件
    UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:@[@"白色", @"红色", @"绿色", @"黄色"]];
    segmentedControl.bounds = CGRectMake(0, 0, 200, 30);
    segmentedControl.center = CGPointMake(160, 284);
    segmentedControl.tintColor = [UIColor blackColor];
    // 配置当前分段选中索引
    segmentedControl.selectedSegmentIndex = 0;
    [segmentedControl addTarget:self action:@selector(processControl:) forControlEvents:UIControlEventValueChanged];
    [self.view addSubview:segmentedControl];
    [segmentedControl release];
  
<p style="margin-top: 0px; margin-bottom: 0px; font-size: 18px; font-family: Menlo; color: rgb(75, 209, 87);">UIActivityIndicatorView <span style="font-family: 'Heiti SC Light';">进度指示器定制:</span></p>  
    // UIActivityIndicatorView 进度指示器
<pre name="code" class="objc">    <pre name="code" class="objc">UIActivityIndicatorView *<span style="font-family: Arial, Helvetica, sans-serif;">activityIndicatorView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];</span>
activityIndicatorView.center = CGPointMake(CGRectGetMidX(self.view.bounds), CGRectGetMidY(self.view.bounds)); [self.view addSubview:activityIndicatorView];

}- (void)processControl:(UIControl *)sender { // 开关 if ([sender isKindOfClass:[UISwitch class]]) { UISwitch *switchControl = (UISwitch *)sender; self.view.backgroundColor = switchControl.isOn ? switchControl.onTintColor : [UIColor whiteColor]; } // 滑条 else
 if ([sender isKindOfClass:[UISlider class]]) { UISlider *slider = (UISlider *)sender; self.view.alpha = slider.value; } // 分段控件 else if ([sender isKindOfClass:[UISegmentedControl class]]) { UISegmentedControl *segmentedControl = (UISegmentedControl *)sender;
 NSArray *colors = @[[UIColor whiteColor], [UIColor redColor], [UIColor greenColor], [UIColor yellowColor]]; self.view.backgroundColor = colors[segmentedControl.selectedSegmentIndex]; }}






5、iOS开发:界面构建与设计元素详解 本文详细介绍了iOS开发中的界面构建工具Interface Builder以及Cocoa Touch框架中的各类常用控件。内容涵盖从基础控件如UILabel和UIButton的使用,到更复杂的UISegmentedControl和UITextField的配置,还包括用于反馈任务状态的UIActivityIndicatorView、UIProgressView以及实现分页功能的UIPageControl。通过实例代码和操作步骤,帮助开发者掌握如何高效构建交互性强、用户体验良好的iOS应用界面。 阅读详情

相关推荐

Coding Plan:程序员真实工作的可执行编码决策框架

Coding Plan 是一种面向工程实践的编码决策方法论,它超越传统学习路径,聚焦于代码在真实业务系统中的上下文对齐、影响控制与可演进性保障。其核心在于将模糊的开发直觉转化为可度量、可验证、可协作的日常动作,涵盖目标对齐、上下文锁定、验证闭环、协作契约和演进预留五大锚点。结合2026年AI辅助编码新范式,它强调将大模型作为‘上下文翻译器’而非代码生成器,并通过分钟级工作块、技术债主动发行、可观测性前置等机制,显著提升交付确定性与系统长期健康度。本文详解该框架的底层逻辑与落地实践。

weixin_33326218的博客 437

Swift_UI:(一)、UILabel、UIButton、UIImageView、UITextFidld、UISwitch

import UIKitclass ViewController: UIViewController,UITextFieldDelegate {    override func viewDidLoad() {        super.viewDidLoad()        //1、UILabel        let label = UILabel(frame:CGRect(x:20,y:2...

九天揽月 419

Jetson Orin NX上PyTorch环境搭建与性能优化指南

本文详细指导如何在Jetson Orin NX上搭建高效的PyTorch开发环境。内容涵盖CUDA与cuDNN的“隐藏”配置、Miniconda虚拟环境管理、PyTorch for Jetson的正确安装与验证,并提供了电源模式设置、TensorRT加速、混合精度等关键性能优化实战技巧,帮助开发者充分释放边缘AI设备的算力。

weixin_29090089的博客 337

IOS学习四:基础控件Label,textfield,button等使用

本来应该早写这个学习笔记的。 但是写blog真是件痛苦得事。 今天刚面试了一个来IOS开发的同学。我觉得我得加紧进度啦。 学习进度:本例子是学习4天后红柚子第一个完整例子代码,基本把oc基础看完后实践的, 其实发现这个例子完完全全是为熟悉IB插件拖来拉去布局而来的。 这边申明两个方面,也是面试3个同学后给的提议,也是论坛上很多给的提议: 1.不建议使用IB文件来布局,界面文件还...

mmdev 340

【保姆级教程/代码】GNSS反演大气可降水量(Precipitable Water Vapor, PWV)

GPS精密单点定位(PPP)是一种采用精密卫星星历和卫星钟差进行非差单点定位的方法,在观测过程中采用双频载波相位观测法以确保高精度定位精度。本文利用PPP技术来求解天顶对流层延迟(zenith tropospheric delay,ZTD)。ZTD由湿延迟(ZWD)和干延迟(ZHD)组成,其中占比90%的ZHD与地面测站高程、大气压和测站纬度等参数有良好的相关性,可以通过Saastamoinen模型精确求出;

weixin_43910227的博客 2923

Isaac Sim 使用经验(配置要求,云服务器)

Google Colab及AutoDL都是在docker内运行,其中google colab并不支持docker指令,而依照AutoDL的相关文档,AutoDL并不直接提供docker指令。2. Google Colab/AutoDL 不支持图形化界面,图形渲染等任务,所以没有办法使用Omniverse Streaming进行直播,从而更好的对结果进行展示。对于第一点,或许存在直接手动复现镜像的可能,但是考虑到Isaac Sim/Isaac Lab由于比较新,可能不够稳定,因此还是按照官方文档进行部署。

weixin_44211433的博客 4586

iOS开发:常用的UIView控件——UILabel、UITextField、UIButton

前面几篇文章已经对iOS开发中比较基本的几个文件进行了了解,今天主要学习StoryBoard文件和几个常见的UI控件。 Storyboard功能是在iOS5开始新增的功能,一种新技术的出现大多是为了弥补旧技术的不足,而在storyboard之前iOS 开发设计界面是使用nib文件(xib),storyboard文件相对nib文件的好处主要体现在storyboard能够非常直观地展示app中不同视...

keZhenxu 263

Win10+pycharm+conda 配置Siammask 过程记录(新手向)

我们跑动demo 需要配置两个相关的文件这两个文件需要用 git 进行下载,对于不熟悉git的小伙伴 我这里给出连接,大家可以直接下载即可,并将其配置在 experiments文件夹下然后大家再需要在设置参数参数这里给出了。

C1137577723的博客 550

UIStepper UISlider UISwitch UITextField 基本控件

1.UIStepper 步进控件 必掌握 1.重要属性: .value 初始值 .maximumValue 最大值 .minimumValue 最小值 .stepValue 间隔 2.常用事件: ValueChanged事件:当数值改变时触发 2 .UISlider 滑块控件 快速滑动的方式得到一个可变数值 1.重要属性: .value 2.重要事件: Valu...

weixin_30823227的博客 155

S4HANA Rebate Management(条件合同) -Single Step

S4HANA 条件合同管理(Condition Contract Management), 包括如何创建条件合同,场景应用

m0_50200150的博客 2307

【WorkBuddy专栏68】HY3绕路部署vsDS4直击根因——一次真实踩坑揭露两个AI模型的推理差距

【WorkBuddy专栏68】HY3绕路部署vsDS4直击根因——一次真实踩坑揭露两个AI模型的推理差距

AI人人懂 557

系列:iOS 开发-基础控件

之前讲了一大堆数据类型,当然我只是调了几个说说,仍然不是全部,不如时间类型NSDate……这里我也不举例子了,数据类型的学习大致都是一样的,我们现在可以不究其原理和实现过程,我们现在才刚刚开始学习,那么我们先学会怎么用,等我们用熟悉了,我们再去做进一步的探究. 好了,不说废话了,今天开始,讲一讲iOS开发中除了数据类型之外,可以让用户看到的那些东西,基础空间,比如按钮,比如图

spicyShrimp的博客 1768

PCL:实现 PPF估计(附完整源码)

PCL:实现 PPF估计(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 716

iPhone起步-2:iPhone常用控件、UIActionSheet、UIAlertView

一、UILabel 二、UIButton 常用事件:Touch Up Inside 三、UITextField 常用属性: Text:要显示的文本。 Placeholder:指定将要在文本字段中以灰色显示的占位符文本。 Clear When Editing Begins:用户触摸此字段时是否删除字段中的值。 Text Input Traits...

weixin_30708329的博客 203

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

UI常用控件的一些属性

UILable 1 //设置文本信息 2 nameLable.text = @"用户名:"; 3 //对齐方式(居中 居左 局右); 4 nameLable.textAlignment = NSTextAlignmentRight; 5 //设置文本内容颜色 6 nameLable.textColor = [UI...

diaodichi8954的博客 166

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

UI03基础控件

1.Button - (void)viewDidLoad { [super viewDidLoad]; _button = [UIButton buttonWithType:UIButtonTypeCustom]; _button.frame = CGRectMake(100, 100, 50, 50); _button.backgroundColor = [UI

ShallowDream5050的博客 351

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

IOS开发笔记(7)基本控件

 前言:ios的视图view离不开控件,了解一些常用的控件还是有必要的。以下写的只是自己平时积累到的。 一:UILabel     UILabel显示多行。     [plain] view plaincopyprint? self.mylabel=[[UILabel alloc]initWithFrame:CGRectMake(20, 5, 200, 40)]

wd_cloud的专栏 432

ios 开发常用控件

Elf Sundae's Blog 请访问新站: www.0x123.com 新闻管理 iPhone起步-2:iPhone常用控件、UIActionSheet、UIAlertView 一、UILabel     二、UIButton   常用事件:Touch Up Inside   三、UITextField

李鸿鸣的专栏 785

[iOS] iPhone常用控件、UIActionSheet、UIAlertView

[iOS] iPhone常用控件、UIActionSheet、UIAlertView 一、UILabel     二、UIButton   常用事件:Touch Up Inside   三、UITextField   常用属性: Text:要显示的文本。 Placeholder:指定将要在文本字段中以灰色显示的占位符文

u011587646的专栏 830

UI--普通控件总结1--控件使用

说明:这个专题,是介绍了一些常用的普通空间的属性和使用,包括:UITextField、UITextView、UILabel、UIButton、UISlider、UIStepper、UIImageView、UISwitch、UISegmentedControl、UIToolBar。 -0.UIView常用的属性和操作 0.UIView常用的属性和操作 这是ios-UI继承关系图

博客 1708

iPhone常用控件、UIActionSheet、UIAlertView

一、UILabel     二、UIButton   常用事件:Touch Up Inside   三、UITextField   常用属性: Text:要显示的文本。 Placeholder:指定将要在文本字段中以灰色显示的占位符文本。 Clear When Editing Begins:用户触摸此字段时是否删除字段中的值。 Text Input Traits:文本输入

_听雨眠的专栏 1108

Phone起步-2:iPhone常用控件、UIActionSheet、UIAlertView

<br /> <br />http://www.cnblogs.com/elfsundae/archive/2010/11/11/1874486.html<br /> <br /> <br />一、UILabel<br /> <br /> <br />二、UIButton<br /> <br />常用事件:Touch Up Inside<br /> <br />三、UITextField<br /> <br />常用属性:<br />Text:要显示的文本。<br />Placeholder:指定将要在文本

NULLCN的专栏 1062

iOS UI控件总结(全)

1.UIButton UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; btn.frame = CGRectMake(60, 30, 250, 35); [btn setBackgroundColor:[UIColor blackColor]]; btn.titleLabel.f...

weixin_30576827的博客 180

苹果官方翻译

1 苹果API常用英语名词---iOS-Apple苹果官方文档翻译http://www.cnblogs.com/ChenYilong/p/3495625.html  2基本控件文档-UIWebView---iOS-Apple苹果官方文档翻译 http://www.cnblogs.com/ChenYilong/p/3556301.html3 基本控件文档-UITextField属性---iOS-

VikeyAqi的专栏 776

iOS UI控件全家桶

iOS UI控件全家桶 A. 基础控件 ( 1 ) UILabel UIButton UIImageView UISearchBar UISegmentedControl UITextFiled UISlider B. 基础控件 ( 2 ) UISwitch UIActivityIndicatorView UIProgressView UIPageControl UIStepper UI...

Hello Swift ! 527
上一篇: iOS开发——视图及视图控制器
下一篇: iOS开发——导航控制器
iOS_development
博客等级 码龄12年 0粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值