Những controller căn bản của lập trình IOS

I. Thông tin chung:

– Nút (Button) và nhãn (Label ) là 2 thứ khó có thể thiếu được trong một ứng dụng. Button giúp người dùng tương tác với ứng dụng còn Label giúp người dùng hiểu thông tin đang được hiển thị mang ý nghĩa gì.

II. Nội dung chính:

1. Label (UILabel):

Những thứ có thể được tùy chính trong 1 Label bao gồm:

– Font,

– TextColor

– TextAligment (TextAligment đã được chuyển thành một thuộc tính (property) trong IOS 6)

– enable: Thực ra thì một Label gốc sẽ không tương tác với người sử dụng nghĩa là các sự kiện (Event) không hề có. Tuy nhiên, enable một Label có nghĩa là làm nó hiện lên còn enable false sẽ làm mờ Label thông báo cho người dùng biết field kế bên nó đã bị vô hiệu.

* Ngoài ra, chúng ta còn có thể tạo bóng (shadow) dành cho những Label mà chúng ta muốn

lkLabel.shadowColor = [UIColor  blackColor];

lkLabel.shadowOffset = CGSizeMake(2.0, 2.0);

=> Đây là đoạn code dùng để tạo một bóng màu đen lệch qua phải 2 point và lệch xuống dưới 2 point. Nhìn có vẻ không đẹp lắm nhưng nếu bạn sử dụng màu xám (Gray) thì đổ bóng sẽ đẹp hơn nhiều.

* Chúng ta có thể điều chỉnh thuộc tính userInteractionEnabled thành YES để có thể tương tác với Label đó.

2. Button (UIButton):

– Button là một trong những control rất quen thuộc với lập trình viên. Sau đây là những dạng button được định nghĩa sẵn trong Object C. Bao gồm:

+ UIButtonTypeCustom

+ UIButtonTypeRoundedRect

+ UIButtonTypeDetailDisclosure

+ UIButtonTypeInfoLight

+ UIButtonTypeInfoDark

+ UIButtonTypeContactAdd

=> Thông thường chúng ta sử dụng RoundedRect vì đây là button chuẩn của Xcode để tương tác với người dùng. Nó chỉ bao gồm một button với hình chữ nhật được bo tròn và tương tác như những button trong các ngôn ngữ khác (ví dụ như Java và C #).

– Tuy nhiên khi chúng ta có những điều chỉnh lớn và mong muốn sử dụng Button theo ý thích của mình thì Custom là thứ mà chúng ta sử dụng. Nó cho phép bạn có thể tùy biến lại hoàn toàn button theo ý của bạn và rất dễ để sử dụng

UIButton *lkButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];

[lkButton setTitle:@”LapKan” forState:UIControlStateNormal];

[lkButton setTitle:@”LapKanSelected” forState:UIControlStateHighlighted];

Sau đó set tới vị trí của button:

[lkButton setFrame:CGRectMake(10, 10, 100, 44)];

[self.view addSubview:lkButton]

Bạn cần thêm vào phản hồi dành cho button này:

[lkButton addTarget:self action:@selector(lkButtonPressed:) forControlEvents:UIControlEventTouchUpInside];

* Đây là sự kiện được diễn ra:

– (void) lkButtonPressed:(UIButton *) sender

{

NSLog(@“You have pressed %@ button”, sender.titleLabel.text);

}

3. UISegmentedControl:

– UISegmentedControl là một lớp con của UIButton. Nó cho phép người sử dụng được lựa chọn trong nhiều tùy chọn khác nhau. Nó bảo đảm rằng ít nhất có 1 lựa chọn được đưa ra. Đây là cách thức đơn giản để lấy thông tin và lựa chọn của khách hàng.

– Những UISegmentedControl đơn giản chỉ bao gồm các con số nhưng bạn cũng có thể đưa vào đó những hình ảnh để làm cho chương trình trở nên trực quan hơn.

[self.segConaddTarget:self action:@selector(segmentChanged:) forControlEvents:UICOntrolEventValueChanged];

Và ta có action changed:

– (void) segmentChanged: (UISegmentedControl *)sender

{

int index = sender.selectedSegmentIndex;

NSString *title = [sender titleForSegmentAtIndex:index];

int x = [title intValue] * [title intValue];

NSString * newTitle =  [[NSNumber numberWithInt:x] stringValue];

[sender setTitle:newTitle forSegmentAtIndex:index];

}

4. UITextField:

– Đây là chỗ để người sử dụng nhập thông tin cần thiết vào.

– Điểm cần lưu ý khi sử dụng UITextField là cần phải lưu ý những người thiết kế để UITextField luôn luôn nằm ở nửa trên của màn hình vì khi bắt đầu nhập dữ liệu thì sẽ có một bàn phím ảo che kín phần nửa dưới của màn hình Iphone. Đối với Ipad, thì có vẻ dễ dàng do phần bàn phím ảo chỉ khoảng 1/5 màn hình. Và điểm quan trọng là cần phải ẩn bàn phím ảo đi sau khi đã nhập xong:

– (BOOL) textFieldShouldReturn:(UITextField *)textField

{

[textField resignFirstResponder];

return YES;

}

III. Kết luận:

– Đây là bài giới thiệu chung về các nút (Button) và nhãn (Label) trong Object C. Nó còn rất nhiều thuộc tính đáng lưu ý và nhiều cách sử dụng hơn nữa khi được kết hợp với Storyboard và TableView. Tôi sẽ cập nhật những controller khác trong những bài sau.

Tagged: , , , , , , , , , ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: