小小词典(二,导航栏及其按钮)

导航栏用来显示应用的标题。在xib文件中拖动一个Navigation Bar,用来显示应用标题。title改为:小小词典。颜色改为亮黄色。再添加一个Bar Button item用来表示是汉译英还是英译汉。将Bar Button item放到Navigation Bar的左上角。


将4个png图片拖入工程。英中.png(20x20) 英中@2x.png(40x40) 中英.png(20x20) 中英@2x.png(40x40) 

再将查询按钮图片,查询.png,查询@2x.png拖入工程。

Bar button item设置图片英中.png,按钮设置图片查询.png。


为bar button item selector 关联方法- (IBAction)pressExchange:(UIBarButtonItem *)sender;

定义BOOL 变量,表示从英文到中文还是从中文到英文。

修改源文件。

//
//  ViewController.m
//  TinyDictionary
//
//  Created by cloud on 13-3-26.
//  Copyright (c) 2013年 cloud. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
	// Do any additional setup after loading the view, typically from a nib.
}

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

- (void)dealloc {
    [_textField release];
    [_lblResult release];
    [super dealloc];
}
- (IBAction)pressExchange:(UIBarButtonItem *)sender {
    _chineseToEnglish=!_chineseToEnglish;
    if (_chineseToEnglish) {
        sender.image=[UIImage imageNamed:@"中英"];
    }
    else
    {
        sender.image=[UIImage imageNamed:@"英中"];
    }
}

- (IBAction)pressFind:(UIButton *)sender {
    if ([_textField.text length]==0) {
        return;
    }
    //GB2312字符集
    NSStringEncoding encode = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
    NSString *strURL=nil;
    if (_chineseToEnglish) {
        //编码中文url
        strURL=[[NSString stringWithFormat:@"http://api.liqwei.com/translate/?language=zh-CN|en&content=%@",_textField.text] stringByAddingPercentEscapesUsingEncoding:encode];
    }
    else
    {
        //编码中文url
        strURL=[[NSString stringWithFormat:@"http://api.liqwei.com/translate/?language=en|zh-CN&content=%@",_textField.text] stringByAddingPercentEscapesUsingEncoding:encode];
    }
    
    NSURL* url=[NSURL URLWithString:strURL];   
    NSError *err=nil;
    //以指定编码得到url给出的内容
    NSString *strResult=[NSString stringWithContentsOfURL:url encoding:encode error:err];
    if (err) {
        NSLog(@"error=%@",[err description]);
    }
    else
    {
        _lblResult.text=strResult;        
    }
}
@end

运行结果如下:

小小词典(二,导航栏及其按钮)_第1张图片

源码地址:http://download.csdn.net/detail/cloud95/5183617

你可能感兴趣的:(小小词典(二,导航栏及其按钮))