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

从上一节看出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.好了今天创建了一些控件及定义页面 进行显示 慢慢消化一下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值