您的位置:首页 > 移动开发 > IOS开发

ios 基础学习之零基础代码控制实现2

2013-01-13 00:20 555 查看
从上一节看出run起来是一个空白的应用程序,接下来试着往界面上加点控件显示

(一)从javaEE中可以看出 Servlet 就是控制器 其实可以在 viewController中直接控制视图的显示 所以先直接在 ViewController.m中添加控件

1.添加一个按钮 设置为圆弧button 并且按下的时候改变其文字 并添加到页面上 run一下 一个按钮添加ok

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController
@synthesize txt2;

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
// 创建一个圆弧button
UIButton * btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[btn setFrame:CGRectMake(5, 20, 150, 25)];
// 正常状态 State
[btn setTitle:@"Click" forState:UIControlStateNormal];
// 按下时进行改变
[btn setTitle:@"按下" forState:UIControlEventTouchDown];
[self.view addSubview:btn];

}

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

@end
2. 上面已经实现一个button 但是 点击之后没有事件 下面进行添加一个事件并创建一个alert对话框

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController
@synthesize txt2;

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
// 创建一个圆弧button
UIButton * btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[btn setFrame:CGRectMake(5, 20, 150, 25)];
// 正常状态 State
[btn setTitle:@"Click" forState:UIControlStateNormal];
// 按下时进行改变
[btn setTitle:@"按下" forState:UIControlEventTouchDown];
// 添加点击事件
[btn addTarget:self action:@selector(btnListener:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn];

}

- (void)btnListener:(UIButton*)sender{
NSLog(@"click..");
// 进行创建一个对话框提示并显示
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"进行点击了按钮" delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil];
[alert show];
[alert release];
}

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

@end
3. 在viewDidLoad方法中添加一个Label显示

// 创建一个lable
UILabel *lbl = [[UILabel alloc] initWithFrame:CGRectMake(5, 55, 120, 25)];
// 设置背景为透明色
[lbl setBackgroundColor:[UIColor clearColor]];
[lbl setText:@"Hello Label"];
[self.view addSubview:lbl];
[lbl release];
4.在viewDidLoad方法中添加一个UiTextField 输入框

// 创建一个TextView
UITextField *txt = [[UITextField alloc] initWithFrame:CGRectMake(5, 90, 150, 30)];
[txt setBorderStyle:UITextBorderStyleRoundedRect]; // 设置边框样式
[txt setPlaceholder:@"请输入你想说的话"]; // 提示hint
[txt setReturnKeyType:UIReturnKeyDone];
[txt setDelegate:self];
[self.view addSubview:txt];
[txt release];
5.从上面添加的输入框可以看出他输入完成后 键盘不隐藏 在网上找到一个实现 使用代理方式实现 在

ViewController.h 实现 UITextFieldDelegate 创建一个局部的txt2 如下代码:
ViewController.h 文件

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController<UITextFieldDelegate>{
IBOutlet UITextField *txt2;
}
@property (nonatomic,retain) UITextField *txt2;
@end


ViewController.m 文件 中添加 (或者不添加) @synthesize txt2; 在viewDidLoad方法中初始化 txt2

txt2 = [[UITextField alloc] initWithFrame:CGRectMake(5, 130, 150, 30)];
[txt2 setBorderStyle:UITextBorderStyleRoundedRect];
[txt2 setDelegate:self];
[self.view addSubview:txt2];
[txt2 release];


在添加下面方法 run 就可以实现 键盘隐藏了

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[txt2 resignFirstResponder];    //主要是[receiver resignFirstResponder]在哪调用就能把receiver对应的键盘往下收
return YES;
}


(二)从上面 可以看出控件直接可以加载到界面上面 下面就升级一下吧 创建一个 view页面 进行添加到界面上

1.新建file



2,创建FirstView 选择UIView 》next



3.在FirstView的 initWithFrame 方法中直接添加一个UIImageView控件吧

#import "FirstView.h"

@implementation FirstView

- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
// 初始化一个图片
//        UIImage *img = [UIImage imageNamed:@"icon_5207209919928581711.png"];
//        [self setBackgroundColor:[UIColor colorWithPatternImage:img]];
// 初始化网络图片
UIImage *img =[ [ UIImage alloc]initWithData: [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.baidu.com/img/baidu_sylogo1.gif"]] ];
// 创建一个图片控件 并进行设置图片
UIImageView *imgView = [[UIImageView alloc]initWithFrame:CGRectMake(10, 0, 80, 80)];
[imgView setImage:img];
[img release];
[self addSubview:imgView];
[imgView release];
}
return self;
}

/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
// Drawing code
}
*/

@end


4.在ViewController.m 中进行加载新创建好的 FirstView 在ViewController.m 头import FirstView.h #import"FirstView.h"

并添加到显示控制界面 可以看到一个图片已经在页面中正常显示了

FirstView *firstView = [[FirstView alloc] initWithFrame:CGRectMake(0, 170, 320, 200)];
[self.view addSubview:firstView];
[firstView release];


(三)总结:

1.从上面学习可以得出 在界面添加控件 可在ViewController中进行设置 也可以创建自定义view添加界面
2.如果有写控件不知道怎么创建可以 按住command+鼠标可以点击进控件父类查看
3.从mvc角度看 以后开发可以进行创建 UIView视图 并在ViewController中进行控制
4.好了今天创建了一些控件及定义页面 进行显示 慢慢消化一下
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: