如何让label实时显示s textfield label的输入

Pages: 1/2
主题 : 如何让label实时显示textfield的输入
级别: 侠客
可可豆: 228 CB
威望: 228 点
在线时间: 147(时)
发自: Web Page
来源于&&分类
如何让label实时显示textfield的输入&&&
如何让label实时显示textfield的输入
级别: 侠客
UID: 372008
可可豆: 120 CB
威望: 111 点
在线时间: 535(时)
发自: Web Page
在textField的代理方法里面对 label赋值&& 有个 changed
级别: 侠客
可可豆: 228 CB
威望: 228 点
在线时间: 147(时)
发自: Web Page
回 1楼(一条大菜狗) 的帖子
我是想要删除时候也会更新的
级别: 侠客
UID: 372008
可可豆: 120 CB
威望: 111 点
在线时间: 535(时)
发自: Web Page
你不是要实时更新。。。&&需求要明确哈
级别: 侠客
UID: 372008
可可豆: 120 CB
威望: 111 点
在线时间: 535(时)
发自: Web Page
删除不要就做个判断 当 textField的长度小于 label的长度 就不执行 就OK了啊
级别: 新手上路
可可豆: 47 CB
威望: 47 点
在线时间: 121(时)
发自: Web Page
这个最好用通知&&&&&&&&[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textFieldChanged:) name:UITextFieldTextDidChangeNotification object:nil];}- (void)textFieldChanged:(NSNotification *)noti { _tfLabel.text = _textField.&&&&
级别: 新手上路
可可豆: 2 CB
威望: 2 点
在线时间: 146(时)
发自: Web Page
好简单。。[self.inputTextfield addTarget:self action:@selector(showtextFiledContents) forControlEvents:UIControlEventEditingChanged];- (void) showtextFiledContents{&&&&self.showMessageLabel.text = self.inputTextfield.}
级别: 侠客
可可豆: 228 CB
威望: 228 点
在线时间: 147(时)
发自: Web Page
回 4楼(一条大菜狗) 的帖子
谢谢了。在这个代理方法用label.text = textfield.text&&这样就可以了?
级别: 侠客
可可豆: 228 CB
威望: 228 点
在线时间: 147(时)
发自: Web Page
回 6楼(caojianfei1988) 的帖子
嘻嘻&&我是菜鸟嘛&& 刚开始学ios&&谢谢指导&&我试试
级别: 侠客
可可豆: 228 CB
威望: 228 点
在线时间: 147(时)
发自: Web Page
回 5楼(xiny123) 的帖子
谢谢了&&我试试
Pages: 1/2
关注本帖(如果有新回复会站内信通知您)
苹果公司现任CEO是谁?2字 正确答案:库克
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 浏览移动版41233人阅读
IOS开发学习(20)
本来应该早写这个学习笔记的。
但是写blog真是件痛苦得事。
今天刚面试了一个来IOS开发的同学。我觉得我得加紧进度啦。
学习进度:本例子是学习4天后红柚子第一个完整例子代码,基本把oc基础看完后实践的,
其实发现这个例子完完全全是为熟悉IB插件拖来拉去布局而来的。
这边申明两个方面,也是面试3个同学后给的提议,也是论坛上很多给的提议:
1.不建议使用IB文件来布局,界面文件还是需要代码写,后期维护起来简单。并且在拖来拖去时遗漏一个输出口就很悲剧。
而且大牛们都建议纯代码写,这点我也考虑到如何保持界面得美观,因为代码得话我没法实时查看布局效果,这个绝对是ANdroid开发
时一个很大额问题,不过ios上基本没事,因为ios屏幕得统一性,一般情况下美工绘制完界面后会把每个控件得坐标都给你。
当然,喜欢xib文件得也可以,甚至storyboarder。只是说,要有代码熟练书写控件得能力。
2.ARC机制,问了下最近部分培训出来的,基本是iso5.0+xcode4.2,其实这些新特性都引入了。
本来应该是个好事,但是,有个同学说,他们老师暂时不建议直接用ARC机制,首先,这样会渐渐丧失内存管理的概念(当然u作为一个从java过来的人,谈不上丧失
因为本来就没有),其次是在ios开发中会大量引入第三方库,那些库在没有支持ARC机制下,那么整个项目可能就会出现问题。因此在开发中要自己考虑周到,
当然,我是希望这个机制最终能被我开发者完全接受,毕竟省力是一件讨好的事。
我们先用xcode建立一个最简单得例子
1.打开xcode引导新建一个Project,我这边选这个模板
然后填写一些项目的基本命名和属性
第一个项目名,第二项类似于android中得包名,貌似是app唯一标识。
第四项,类前缀,默认是没有,写上后模板生成得几个类前默认带个这个前缀。
说下最后三个复选框。
第一个就是我们说的新特性之一,用storyboards管理布局文件。
第二个arc机制
第三个自动生成一个测试用例。
这次我全不选,不过我学的时候选了ARC,完全不用释放内存。这回是听了那几个朋友的建议,初学者要给自己较好的编码意识。
2.创建完后我们来大致看下目录结构分析,然后应用是如何启动的
一般我们在看一个整体应用时,我们都会去了解这个应用到底是怎么起来的(Android比如简单的就是一个入口activity。当然在往前点可能说是Applicaton)
ios中,则是在用户点击应用后,会进入这个main函数。然后我们看了下这个函数唯一能让我们关联得就是NonoAppDelegate这个类
(我这边比较俗,既看一个应用启动流程时,我保证代码能把我整个应用窜起来,不考虑后台到底怎么怎么进程,loop啊,队列什么的,目前对我们来说太深奥了)。
好了,这个main之后能跳到我们的代理类了。
我们看下代理类中内容
NonoAppDelegate.h
Created by Nono on 12-4-25.
Copyright (c) 2012年 NonoWithLilith. All rights reserved.
#import &UIKit/UIKit.h&
@class NonoViewC
@interface NonoAppDelegate : UIResponder &UIApplicationDelegate&
@property (strong, nonatomic) UIWindow *
@property (strong, nonatomic) NonoViewController *viewC
@end以上这是头文件。
@synthesize window = _
@synthesize viewController = _viewC
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// Override point for customization after application launch.
self.viewController = [[[NonoViewController alloc] initWithNibName:@&NonoViewController& bundle:nil] autorelease];
self.window.rootViewController = self.viewC
[self.window makeKeyAndVisible];
return YES;
实现文件我们就看部分。
该实现方法是应用启动完后,加载一个窗口,然后在窗口上添加各种View。
这边说个小注意点。
在main函数时,我们会看到两种书写:
int main(int argc, char *argv[])
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, nil);
int main(int argc, char *argv[])
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([NonoAppDelegate class]));
我们可以看到UIApplicationMain方法参数不一样。
对于这个,这哥们得博文写的比较明了了:《Main方法得讨论》
以上基本一个带窗口单空白视图的得应用就起来了。现在,我们集合IB控件往该视图上添加一些常用的基础控件
首先我们在NonoViewController.h定义一些属性控件申明输出口,以及按钮IBAction连接入口
#import &UIKit/UIKit.h&
#define kSwitchIndex 0
@interface NonoViewController : UIViewController&UIActionSheetDelegate&
UITextField *userNameT
UITextField *passWordT
UILabel *sliderL
UISlider *
UISwitch *switchB
UIButton *
@property (nonatomic , retain) IBOutlet UITextField *userNameT
@property (nonatomic , retain) IBOutlet UITextField *passWordT
@property (nonatomic , retain) IBOutlet UILabel *sliderL
@property (nonatomic , retain) IBOutlet UISwitch *switchB
@property (nonatomic , retain) IBOutlet UIButton *
-(IBAction)textFieldDoneExting:(id)
-(IBAction)backgroundTap:(id)
-(IBAction)sliderChanged:(id)
-(IBAction)segementButton:(id)
-(IBAction)switchchanged:(id)
-(IBAction)buttonOnclick:(id)
然后我们来看对应 xib文件
然后我们来看怎拖拉来与代码中的输出口连接起来。
这边我们先看下xib文件得一些显示:
首先是这个filesOwner,文件拥有者,其实就是下面这些控件对象的拥有者,而我们知道,
拥有这些对象的就是我们的NonoViewController
接下来我们看链接操作:
(擦,截这个图我得xcode死掉了好几次 = =。)
很很简单,我们知道filesowner其实就是我们得NonoViewController类,里面有我们申明得几个输出口,要很xib文件建立链接
其实就是我们在该类中定义一个对象,我们需要指向一个实例,该实例就是xib文件中我们拖进去得控件。
好,现在我们点击filesower,然后按住control键,移动鼠标箭头就会出现一个蓝色的线,随便链接到下面的一个控件松开鼠标,
会自动提示你,NonoViewController中得哪几个指针(输出口)可以指向这个控件。这样就把代码和xib文件的对象一一联系起来了。
我们可以看最右边的属性图,可以看出有个Outlets标签,里面刊例浏览当前控件的链接情况。
同时还有个reference outlets,其实刚和和上面相反,这个看字面意思就是引用得输出口
此刻我们以一个输入用户名得textField举例,我们知道filesOwner中(也就是NonoViewController)有用户名的输出口,指向了xib中的输入用户名。
那么对应得 我们选中userNameText这个控件后,他的reference outlet是在filesowner中
当你把这个关系理清楚后,那么布局与代码的链接就很简单了。
同样得,我们能看到如果是按钮类型的,会有个event动作得输出口,设计理念基本上理解上面这种后,这个是很容易明白的。
然后对于每个textfield,button什么的细节设置,都可以在右边得属性栏中修改。
5.以后我们基本就申明完一个控制类了,然后是实现类了。
不好意思,本来说重写下不用ARC机制的,当这会都11点了,没心情重写下,copy早几天写的那个讲究看下了
NonoViewController.m
ApressFirst
Created by Nono on 12-4-17.
Copyright (c) 2012年 NonoWithLilith. All rights reserved.
#import &NonoViewController.h&
@implementation NonoViewController
@synthesize userNameT
@synthesize passWordT//该定义会自动实现setter和getter方法
@synthesize sliderL
@synthesize switchB
//定义得按钮事件1
-(IBAction)switchchanged:(id)sender
UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:@&U will die!& delegate:self cancelButtonTitle:@&OK& destructiveButtonTitle:@&i know&
otherButtonTitles: nil];
[sheet showInView:self.view];
//定义的按钮事件2
-(IBAction)buttonOnclick:(id)sender
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@&警告提示!& message:@&你点击了按钮!& delegate:self cancelButtonTitle:@&确定&
otherButtonTitles:@&测试下&, nil];
[alert show];
-(IBAction)segementButton:(id)sender
if([sender selectedSegmentIndex] == kSwitchIndex)
switchButton.hidden = NO;
button.hidden = YES;
switchButton.hidden = YES;
button.hidden = NO;
-(IBAction)sliderChanged:(id)sender
UISlider *uiSlider = (UISlider*)
int size = (int)uiSlider.
NSString *sizeText = [[NSString alloc] initWithFormat:@&%d&,size];
sliderLabel.text = sizeT
// [sizeText release];
-(IBAction)textFieldDoneExting:(id)sender
[sender resignFirstResponder];//放弃当前焦点
//隐藏键盘
-(void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex
NSLog(@&我靠!!!&);
-(IBAction)backgroundTap:(id)sender
[userNameText resignFirstResponder];
[passWordText resignFirstResponder];
//点击背景后隐藏键盘
- (void)viewDidLoad
[super viewDidLoad];
NSString *sizeValues = [[NSString alloc] initWithFormat:@&%d&,slider.t]
sliderLabel.text =
// Do any additional setup after loading the view, typically from a nib.
//- (void)dealloc
[userNameText release];//如果引入得arc机制后该方法无需调用。
[passWordText release];
[super dealloc];
- (void)viewDidUnload
[super viewDidUnload];
// Release any retained subviews of the main view.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
以上实现基本没什么太多内容。
方法中会有调用几个对话框控件
UIAlertView基本就是这么一个样子:
一般来说alert就是一个警告对话框,只要一个确认按键点击后对话框消失就好了,但是又时我们又会希望点击确认或是如上面我自己添加得测试下这个按钮
我们希望又相应得处理,那么就可以引入UIActionSheetDelegatede 委托,
同样样还用到一个UIActionSheet
同样是拥有相应得委托协议。
这些其实都是很具有通行的,一开始可能比较乱,看过2-3个后就觉得,原来如此。
然后我们看下这个方法:
-(IBAction)textFieldDoneExting:(id)sender
&&& [sender&resignFirstResponder];//放弃当前焦点
&&&&//隐藏键盘
ios中得输入不同于Android,他得显示和显示一般要手动去去做,这个方法我们是链接了我们定义的控件event方法。
上面这个方法在点击done时出发,类似与告诉程序,输入完了,取消键盘。
但是当我们对输入格式什么得做了默写限制时,比如,该输入框只能输入数字。
那貌似没有这个done操作了。
还好,一般ios默认或是长期得用户习惯取消键盘显示得操作就是点击键盘区域外得任意点取消键盘显示。
那么外面的区域其实是对应得xib中得view这个对象,此时我们需要将他强转化成UIController类型,因为只有此类型才会在属性中显示event链接选项。
然后我们给他设置一个touchdown事件出发相应得方法:
-(IBAction)backgroundTap:(id)sender
&&& [userNameText&resignFirstResponder];
&&& [passWordText&resignFirstResponder];
&&&&//点击背景后隐藏键盘
好了。睡觉。以上主要是怎么用ib来实现布局。很基础也很简单到此
(昨儿停电断网了,csdn博客怎么没有实时保存功能么,今天一看发现就前半部分了。晕哦)
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:835716次
积分:7818
积分:7818
排名:第1921名
原创:71篇
评论:397条
文章:21篇
阅读:397863
&&一款商业的移动互联网一站式体验购彩应用,支持支付宝,银联和手机支付充值支付方式
电信翼支付手机彩票
&&于中国电信翼支付合作的彩票应用,内置于电信翼支付
(1)(1)(3)(1)(1)(2)(2)(5)(3)(5)(7)(3)(9)(8)(7)(4)(7)(9)> (新手上路)怎样使用setBounds方法是添加在框架的label、textfield和按钮看起来更美观,如:解决方法
(新手上路)怎样使用setBounds方法是添加在框架的label、textfield和按钮看起来更美观,如:解决方法
wangshiruyu & &
发布时间: & &
浏览:4 & &
回复:0 & &
悬赏:0.0希赛币
(新手上路)怎样使用setBounds方法是添加在框架的label、textfield和按钮看起来更美观,如:package person_with_import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.*;public class tianjia1 extends JFrame implements ActionListener { Label Label1=new Label(&ID:&); TextField textField1=new TextField(); Label Label2=new Label(&姓名:&); TextField textField2=new TextField(); Label Label3=new Label(&性别:&); TextField textField3=new TextField(); Label Label4=new Label(&年龄:&); TextField textField4=new TextField(); Label Label5=new Label(&技能:&); TextField textField5=new TextField(); Label Label6=new Label(&服务行业:&); TextField textField6=new TextField(); Label Label7=new Label(&毕业院校:&); TextField textField7=new TextField(); Label Label8=new Label(&备注:&); TextField textField8=new TextField(); Label Label9=new Label(&入库时间:&); TextField textField9=new TextField(); Label Label10=new Label(&录用情况:&); TextField textField10=new TextField();
Button button1=new Button(&确定&); Button button2=new Button(&取消&);
C S S ResultS
public tianjia1() throws Exception {
super(&人才信息添加界面&);
setSize(800,600);
setLayout(null);
setBackground(new Color(110,200,150));
Toolkit kit=Toolkit.getDefaultToolkit();
Dimension screenSize=kit.getScreenSize();
int x=screenSize.
int y=screenSize.
this.setLocation((x-200)/2, (y-200)/2);
button1.setBounds(219, 228, 89, 25);
button1.addActionListener(this);
button2.setBounds(68, 226, 83, 23);
button2.addActionListener(this);
Label1.setBounds(45,86,57,19);
Label2.setBounds(45,126,57,19);
Label3.setBounds(45,170, 57, 19);
Label4.setBounds(160,86,53,19);
Label5.setBounds(160,126,57,19);
Label6.setBounds(160,170, 57, 19);
Label7.setBounds(340,86,57,19);
Label8.setBounds(340,126,57,19);
Label9.setBounds(0,170, 57, 40);
Label10.setBounds(360,170, 57, 40);
textField1.setBounds(105, 86, 76, 20);
textField2.setBounds(105, 126, 76, 20);
textField3.setBounds(105, 170, 76, 20);
textField4.setBounds(175, 86, 76, 20);
textField5.setBounds(175, 126, 76, 20);
textField6.setBounds(175, 170, 76, 20);
textField7.setBounds(271, 169, 76, 20);
textField8.setBounds(271, 86, 76, 20);
textField9.setBounds(271, 126, 76, 20);
textField10.setBounds(381, 170, 76, 20);
add(button1);
add(button2);
add(Label1);
add(Label2);
add(Label3);
add(Label4);
add(Label5);
add(Label6);
add(Label7);
add(Label8);
add(Label9);
add(Label10);
add(textField1);
add(textField2);
add(textField3);
add(textField4);
add(textField5);
add(textField6);
add(textField7);
add(textField8);
add(textField9);
add(textField10);
setVisible(true);
url=&jdbc:sqlserver://localhost:1433;databaseName=Tuser=password=123;&;
Class.forName(&com.microsoft.sqlserver.jdbc.SQLServerDriver&);
con=DriverManager.getConnection(url);
stmt=con.createStatement(); } public void actionPerformed(ActionEvent e){
String str1=e.getActionCommand();
if(str1.equals(&确定&))
if(textField2.getText().equals(&&)||textField1.getText().equals(&&))
dialog3 t=new dialog3();
rs=stmt.executeQuery(&select * from IFM&);
if(rs.next())
if(textField1.getText().equals(rs.getString(&ID&)))
本问题标题:
本问题地址:
温馨提示:本问答中心的任何言论仅代表发言者个人的观点,与希赛网立场无关。请对您的言论负责,遵守中华人民共和国有关法律、法规。如果您的言论违反希赛网问答中心的规则,将会被删除。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&}

我要回帖

更多关于 ios监听textfield输入 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信