Trung Tâm Đào Tạo Mạng Máy Tính Nhất Nghệ

Trung Tâm Đào Tạo Mạng Máy Tính Nhất Nghệ (http://www.nhatnghe.com/forum/index.php)
-   LẬP TRÌNH iOS (http://www.nhatnghe.com/forum/forumdisplay.php?f=154)
-   -   Lập trình iPhone - Đối tượng UIPickerView (http://www.nhatnghe.com/forum/showthread.php?t=412558)

o0o_khoaphp_o0o 07-07-2012 11:16

Lập trình iPhone - Đối tượng UIPickerView
 
ĐỐI TƯỢNG UIPICKERVIEW

http://khoapham.vn/nhatnghe/iphone/u...__nhatnghe.pnghttp://khoapham.vn/nhatnghe/iphone/u...ckerView_2.png

I - Giới thiệu:

UIPickerView dùng để hiển thị 1 danh sách cho khách hàng lựa chọn.

II - Cách sử dụng:

B1: Kéo đối tượng UIPickerView vào file .xib

B2: Mở file .h, thêm inherit UIPickerViewDelegate

Code:

@interface NhatNgheViewController : UIViewController
<UIPickerViewDelegate, UIPickerViewDelegate> {

}

B3: Mở file .m, hàm ViewDidLoad, khởi tạo mảng cho PickerView, ví dụ: mảng monhoc

PHP Code:

monhoc = [[NSMutableArray allocinitWithObjects:   @"Web doanh nghiệp"
                                                        @
"Lập trình PHP & MySQL"
                                                        @
"Lập trình iPhone"
                                                        @
"Lập trình Android"
                                                        @
"ASP.NET & SQL Server"nil];
myPicker.delegate self

B4: Cũng trong file.m, bổ sung thêm các hàm sau

PHP Code:

-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
    return 
1;
}

-(
NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
    return [
monhoc count];
}

-(
void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
    
int chon = [myPicker selectedRowInComponent:0];
}

-(
NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{

    return [
monhoc objectAtIndex:row];


Bonus: Lấy giá trị hiện hành trong Picker View

PHP Code:

- (IBAction)getCurrent:(id)sender {
    
int chon = [myPicker selectedRowInComponent:0];
    
NSLog(@"%i"chon);


III - Dạng UIPicker nhiều Component

http://khoapham.vn/nhatnghe/iphone/u...ckerView_2.png

B1: Mở file .m, hàm ViewDidLoad, khởi tạo mản dữ liệu cho Picker View

PHP Code:

monhoc = [[NSMutableArray allocinitWithObjects:   @"Web Doanh Nghiệp"
                                                        @
"Lập trình iPhone",
                                                        @
"Lập trình Android",
                                                        @
"SEO",
                                                        @
"Mobile Game Developer"nil];
    
buoi = [[NSMutableArray allocinitWithObjects:     @"Sáng",
                                                        @
"Chiều"
                                                        @
"Tối"nil]; 

B2: Trong file .m, khai báo các function sau:

PHP Code:

-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
    return 
2;
}

-(
NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
    if(
component == 0)
        return [
monhoc count];
    if(
component == 1)
        return [
buoi count];
    return 
0;
}

-(
void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
    
int chonmonhoc = [myPicker selectedRowInComponent:0];
    
int chonbuoi = [myPicker selectedRowInComponent:1];
    
NSString *chon_1 = [monhoc objectAtIndex:chonmonhoc];
    
NSString *chon_2 = [buoi objectAtIndex:chonbuoi];
}

-(
NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
    if(
component==0)
        return [
monhoc objectAtIndex:row];
    if(
component==1)
        return [
buoi objectAtIndex:row];
    return 
0;


Bonus: Chèn hình vào PickerView thay cho text:
B1: Bỏ function
PHP Code:

-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component 

B2: Thay bằng function sau:
PHP Code:

-(UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view
{    
    
UIImage *img = [UIImage imageNamed:@"Bee.png"];
    
UIImageView *temp = [[UIImageView alloc]initWithImage:img];
    
temp.frame CGRectMake(0,0,50,50);
    return 
temp;


:JFBQ00213070516A::JFBQ00213070516A::JFBQ00213070516A:
*********** Trượt tới 1 dòng nào đó *************
PHP Code:

[myPicker selectRow:4 inComponent:0 animated:YES]; 

:JFBQ00163070213B::JFBQ00163070213B::JFBQ00163070213B:

thamtutamlong1 06-11-2013 15:41

thank đoạn code rất dễ hiểu
_________________
tham tu an giang | tham tu bac ninh


Múi giờ GMT +7. Hiện tại là 20:53

Powered by: vBulletin Version 3.8.7
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Ad Management by RedTyger