TÌM HIỂU VỀ PROGRESS VIEW, ACTIVITY VIEW, SEGMENTED CONTROL, SWITCH TRONG IOS Ở bài trước mình đã giới thiệu cho các bạn về Một số UI, cũng như Control cơ bản, ở bài này mình tiếp tục
Trang 1TÌM HIỂU VỀ PROGRESS VIEW, ACTIVITY VIEW, SEGMENTED CONTROL, SWITCH
TRONG IOS
Ở bài trước mình đã giới thiệu cho các bạn về Một số UI, cũng như Control cơ bản, ở bài này mình tiếp tục giới thiệu cho các bạn một số UI, Control phổ biến khác như Tiêu
đề mình đã đề rõ
Tiếp tục giới thiệu, cách dùng, và dùng các Control trên.!
Tạo một dự án mới và đặt tên:
Trang 2
Đầu tiên mình thiết kế giao diện chung như hình sau:
Bao gồm:Progress View, Activity View, Segmented Control, Switch kéo thả từ tập các danh sách UI:
Segmented Control:
Trang 3Chúng ta có thể đổi số lượng segments , lựa chọn từng segment và thay đổi tiêu đề (title) cho từng segment tuỳ ứng dụng của mình
Đối với segment chúng ta khai báo: Property để lựa chọn đang sử dụng segment nào,
và action để lọc thông tin tuỳ theo từng segment
Ứng dụng chủ yếu là để lọc thông tin như messager chẳng hạn.!
Khai báo một label đổi text=”Filter Friend” Dùng để hiển thị nội dung segment
khi ta lọc thông tin
Progress View: có thể thay đổi vị trí thanh màu xanh progress.
Dùng để tăng giảm theo bước nhảy trong khoảng Min Max, Tuy nhiên nó biểu biễn cụ thể trực quan hơn Stepper, và nó cũng rời rạc chứ không liên tục như Slider
Ở đây mình thêm 2 button là + – dùng để tăng giảm Progress Progress chỉ sử dụng Property để thay đổi khung màu xanh chạy cho tới khi full
Ứng dụng: Sử dụng khi biết chính xác thời gian load dữ liệu Ngược lại vớiActivity là
cứ quay khi nào load dữ liệu thành công thì dừng quay
Switch: Sử dụng rất đơn giản chỉ có 2 trạng thái ON or OFF Nếu on thì làm gì
đó off thì dừng việc đó lại Sử dụng khi bật tắt chức năng gì đó hoặc cho phép
Trang 4hay không cho phép sử dụng ứng dụng, trong setting Iphone sử dụng rất nhiều Khai báo property để lựa chọn on or off
Activity View: Đơn giản là nếu chúng ta cho phép quay thì quay, tắt thì nó sẽ
dừng quay, sử dụng rất nhiều khi load data mà không biết khi nào xong, chưa load xong thì nó sẽ quay, và ngay khi lấy được data thì sẽ dừng quay
Thiết kế Ứng dụng hoạt động theo nguyên lý như sau:
– Khi chọn vào segment thì label sẽ hiển thị nội dung lọc
– Khi nhấn vào cộng trừ thì progress tăng giảm
– Khi chọn vào ON thì Activity quay, OFF thì activity dừng quay
Kết nối UI với class ViewController.h quản lý:
Giữ Ctrl vào kéo vào class quản lý và đặt tên:
Sau khi ánh xạ và đặt tên ta được đoạn mã:
1 #import <UIKit/UIKit.h>
2
3 @interface ViewController : UIViewController
4
5 @property (strong, nonatomic) IBOutlet UIActivityIndicatorView *activity;
6 - (IBAction)switchActivity:(id)sender;
7 @property (strong, nonatomic) IBOutlet UISwitch *switchControl;
8 @property (strong, nonatomic) IBOutlet UIProgressView *progressView;
9
10 - (IBAction)buttonTang:(id)sender;
11
12 - (IBAction)buttonGiam:(id)sender;
13 @property (strong, nonatomic) IBOutlet UISegmentedControl *segmentedControl;
14 - (IBAction)changeText:(id)sender;
15 @property (strong, nonatomic) IBOutlet UILabel *labelValueSegmented;
16 @end
Trang 5Đối với activity, segmented có cả action và property Đơn giản mình đã giải thích ở trên!
Thực thi các UI đã khai báo trong ViewController.m:
Segmented Control:
Lựa chọn:
– Nếu segmented=0, thì lọc ra friend online
– Nếu segmented=1, thì lọc ra friend all
1 - (IBAction)changeText:(id)sender {
3 self.labelValueSegmented.text=@"friend online!";
5 };
7 self.labelValueSegmented.text=@"friend all";
8 }
9
10 }
Progress View:( min =0 , max =1)
– Tăng : mỗi lần nhấn vào nút cộng thì tăng lên o.1
– Giảm : mỗi lần nhấn vào nút trừ thì giảm đi 0.1
1 - (IBAction)buttonTang:(id)sender {
2 self.progressView.progress += 0.1 ;
3
4 }
5
6 - (IBAction)buttonGiam:(id)sender {
7 self.progressView.progress -= 0.1 ;
8 }
Switch và Activity:
Nếu Switch để chế độ ON thì cho phép activity cho phép quay Nếu để chế độ OFF thì activity ngay lật tức dừng quay!!!
1 - (IBAction)switchActivity:(id)sender {
Trang 63 [self.activity startAnimating];
4 }else{
5 [self.activity stopAnimating];
6 }
7 }
link full code:
1 http ://www.mediafire.com/download/4o49cz6azcl0n4c/UICoBanTiepTheo.zip