改变按钮状,改变按钮状态

来源:http://www.smjxgs.com 作者:操作系统 人气:157 发布时间:2019-08-08
摘要:看清页面中的该填项是或不是填完整,改换开关状态 iOS,页面ios 推断页面中的该填项是或不是填完整,改动按钮状态iOS,开荒中好些个这种状态,正是页面中有一对要求填写的新闻,

看清页面中的该填项是或不是填完整,改换开关状态 iOS,页面ios

推断页面中的该填项是或不是填完整,改动按钮状态 iOS,开荒中好些个这种状态,正是页面中有一对要求填写的新闻,然后有贰个开关,当页面中的textFeild 还未填写完整时,按键是不足点击的情景,填写完整后才足以点击,该怎么落实吗,完成思路:
因为页面中先填写哪个textField是不自然的,所以自个儿索要给各种textFeild 增加监听事件,当编辑状态改动时,去剖断页面中享有的textFeild 是或不是都曾经有值,有值则变动按钮的可点击状态

出于类别中大概有非常多页面都会用到剖断的章程,所以大家可以把艺术封装起来,在应用的地点一贯调取就行

上代码(创立贰个类,封装方法):

//判断是否有值,只要有NO,就为灰色,如果都为yes,那就直到最后一个都为yes时,即为yes
  (void)setButtonStatusBytextFeilds:(NSArray *)textFeildArr button:(UIButton *)button{
    for (UITextField *textF in textFeildArr) {
        if (textF.text.length <= 0) {
            [button setBackgroundColor:kLineColor];
            button.enabled = NO;
            return;
        }else{
            if ([(UITextField *)textFeildArr[textFeildArr.count - 1] text] > 0) {
                [button setBackgroundColor:kGreenColor];
                button.enabled = YES;
            }
        }
    }
}

在使用的地点:

//给每个textFeild 添加监听
self.textFArr = @[_passordF,_surePasswordF];
    for (UITextField *textF in _textFArr) {
        [textF addTarget:self action:@selector(setBtnStatus) forControlEvents:(UIControlEventEditingChanged)];
    }

//调取判断方法
- (void)setBtnStatus{
    [ShowTool setButtonStatusBytextFeilds:_textFArr button:_registerBtn];
}

效果图:

4887王中王鉄算盘奖结果 1

4887王中王鉄算盘奖结果 2

iOS,页面ios 判定页面中的该填项是或不是填完整,改动开关状态 iOS,开垦中有的是这种情景,就...

判别页面中的该填项是或不是填完整,改换开关状态 iOS,开采中众多这种状态,就是页面中有一部分急需填写的音信,然后有多个开关,当页面中的textFeild 还未填写完整时,按键是不足点击的情状,填写完整后才足以点击,该怎么落到实处吗,达成思路:
因为页面中先填写哪个text菲尔德是不必然的,所以笔者索要给每一个textFeild 添加监听事件,当编辑状态改造时,去剖断页面中保有的textFeild 是或不是都早已有值,有值则更改开关的可点击状态

IOS开采之获得Storyboard创立的ViewController,ios开拓storyboard

  前边的两篇博客都以上学有关显示器适配也正是争论布局的东西,那篇博客上将会学习视图间的切换。视图间的切换大家能够用代码完结也许用storyboard来确立梯次视图调整器间的关系。在须求使用代码举办切换时会用代码实行视图间的跳转。下面包车型地铁事物大家会主要介绍到NavigationController来进展视图间的切换。下边也是和从前同一把代码和storyboard结合起来学习。

  下边介绍一下大家要兑现的功能和功力: App张开的率先个分界面是登录页面,登录页面由用户名和密码以及二个登录按键构成。当登录成功时会push到第1个页面,第二个页面有多个开关,A,B和C, 点击分歧的开关然后会跳转到相应的View。

  1.首先大家先用大家的storyboard来拖拽出我们要用的控件,再加多二个NavigationController,上面图一是给我们的主视图增加NavigatinController, 图二是最终效果

                4887王中王鉄算盘奖结果 3         4887王中王鉄算盘奖结果 4

 

  2.因为要由登录状态来判定上面包车型客车View是不是出现,所以主视图和带有A,B,C八个按键的视图之间的切换无法用storyboard完结,大家要用代码关联落成。上面是登入成功后要跳转的模块截图:

       4887王中王鉄算盘奖结果 5         4887王中王鉄算盘奖结果 6

  3.以上拖拽工作到此停止,上面要落到实处大家的专业逻辑和事关视图之间的关系,为了关联视图时能找到带有多个开关的视图,大家供给安装一下该视图的StoryboardID,入下图  

                               4887王中王鉄算盘奖结果 7

 

  4.底下来编排大家的代码,下面大家用到了TextField,我们需求管理键盘的回收事件,所以大家的ViewController要遵从UITextFiledDelegate协议,完毕有关键盘的秘诀

    (1)遵守UITextFieldDelegate协议

1 2 3 4 #import <UIKit/UIKit.h>   @interface ViewController : UIViewController<UITextFieldDelegate> @end

​    (2)在ViewController.m中中开始展览回调注册和促成协议中相应的方式,代码如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 -(BOOL) textFieldShouldReturn:(UITextField *)textField {     [self.userName resignFirstResponder];     [self.password resignFirstResponder];     return YES; }   - (void)viewDidLoad {     [super viewDidLoad];     // Do any additional setup after loading the view, typically from a nib.     self.userName.delegate = self;     self.password.delegate = self; }

  5.甩卖完键盘的事情,就该管理我们当登录按键点击时回调的平地风波了,首先在回调方法中获得TextFiled的值,由值的动静来落实是或不是举办页面间的切换。 在页面切换时我们得关联八个页面中的关系。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 - (IBAction)tapButton:(id)sender {           NSString *username = self.userName.text;     NSString *password = self.password.text;           if ([username isEqualToString:@"admin"] && [password isEqualToString:@"admin"])     {         //获取storyboard: 通过bundle根据storyboard的名字来获取我们的storyboard,         UIStoryboard *story = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];                   //由storyboard根据myView的storyBoardID来获取我们要切换的视图         UIViewController *myView = [story instantiateViewControllerWithIdentifier:@"myView"];                   //由navigationController推向我们要推向的view         [self.navigationController pushViewController:myView animated:YES];               }   }

​      代码表达:关联七个View供给三部

        1.拿走storyboard: 通过bundle的名获取bundle, 在通过storyborad的名字来收获大家的storyboard;

        2.在由storyboard获取storyboardID是myView的View;

        3.推行由近些日子View推向大家取获得的myView;

    至此大家的关键代码就编写成功,接下去看一下运营效果啊:

                    4887王中王鉄算盘奖结果 8      4887王中王鉄算盘奖结果 9

 

      4887王中王鉄算盘奖结果 10       4887王中王鉄算盘奖结果 11

 

  先一言以蔽之这一个吗,现在学到了新的内容在立异博客内容,应接钻探指正。

鉴于项目中也许有无数页面都会用到推断的办法,所以我们得以把办法封装起来,在采取的地点直接调取就行

iOS开采中获得storyboard中viewcontroller事例的标题

对象的面目是:作用的包裹及气象的掩护,说白了正是代码和数码。尽管选拔同多少个nib来创制出来的实例,但它们却不是同一个指南针指向的对象。即使想要区分完全能够通过增加属性如instanceName 在开创时钦赐这一个instanceName为分化的值就能够了
[email protected]"A";
[email protected]"Next";

怎么决断是否你想要的实例就无须自身多说了啊  

上代码(创造三个类,封装方法):

iOS 用storyboard开拓时,怎在三个viewController 获取到钦点的任何viewController

UITableViewController *startingTableController=[self.storyboardinstantiateViewControllerWithIdentifier:@"UITableViewController"];

[self.view addSubview:startingTableController.view];

//instantiateViewControllerWithIdentifier:为你在窗体设计时的习性中定义命名的Identifier(标示符);
//[self.storyboardinstantiateViewControllerWithIdentifier:@"UITableViewController"];它将再次回到贰个调整器对象
//[self.view addSubview:startingTableController.view];将调节器视图增多进主窗口视图,那样做的不足之处是显得有几许空白,貌似是
startingTableController义务栏缺失导致的

将[4887王中王鉄算盘奖结果,self.view addSubview:startingTableController.view];
换为

NSArray *viewController=[NSArray arrayWithObject:startingTableController];
[self.pageViewController setViewControllers:viewControllerdirection:UIPageViewControllerNavigationDirectionForward animated:NO completion:NULL];
[self addChildViewController:self.pageViewController];
[self.view addSubview:self.pageViewController.view];
能够消除空域难点  

前面包车型客车两篇博客都以学习有关显示屏适配约等于对峙布局的东西,那篇博客师长会学...

//判断是否有值,只要有NO,就为灰色,如果都为yes,那就直到最后一个都为yes时,即为yes
  (void)setButtonStatusBytextFeilds:(NSArray *)textFeildArr button:(UIButton *)button{
    for (UITextField *textF in textFeildArr) {
        if (textF.text.length <= 0) {
            [button setBackgroundColor:kLineColor];
            button.enabled = NO;
            return;
        }else{
            if ([(UITextField *)textFeildArr[textFeildArr.count - 1] text] > 0) {
                [button setBackgroundColor:kGreenColor];
                button.enabled = YES;
            }
        }
    }
}

在运用的地点:

//给每个textFeild 添加监听
self.textFArr = @[_passordF,_surePasswordF];
    for (UITextField *textF in _textFArr) {
        [textF addTarget:self action:@selector(setBtnStatus) forControlEvents:(UIControlEventEditingChanged)];
    }


//调取判断方法
- (void)setBtnStatus{
    [ShowTool setButtonStatusBytextFeilds:_textFArr button:_registerBtn];
}

效果图:

4887王中王鉄算盘奖结果 12

4887王中王鉄算盘奖结果 13

本文由4887王中王鉄算盘奖结果发布于操作系统,转载请注明出处:改变按钮状,改变按钮状态

关键词:

上一篇:不想升级,3以及防止自动更新

下一篇:没有了

最火资讯