Đối Tượng Image

Một phần của tài liệu Xây dựng công cụ cho phép thiết kế ứng dụng SCADA vừa và nhỏ trên nền iOS (Trang 62 - 65)

5.5 Màn Hình Runtime

5.5.4 Đối Tượng Image

Image là đối tượng thể hiện hình ảnh trên nó, không chỉ một hình mà có thể chứa trong nó 2 (chức năng on-off) hoặc 4 hình (chức năng Animation) . Các bước làm việc với Image

Bước 1: Vẫn là tạo ra đối tượng quản lý với các thuộc tính mà ta mong muốn gán cho đối

tượng, và cách thực hiện cũng giống như trước chỉ khác ở các thuộc tính mong muốn. Trong đối tượng Image có các thuộc tính thêm vào như sau:

NSString *name: tên của đối tượng Image.

NSString *tagAssign: tên của Tag được gán vào đối tượng Image.

NSString *operationMode: chế độ hoạt động của Image. Gồm có 3 chế độ: Static, On- Off, Animation.

NSString *staticImageName: tên của hình ở chế độ Static.

NSString *onImageName: tên hình sẽ được hiển thị khi tag gán vào hình có giá trị "True".

NSString *offImageName: tên hình sẽ được hiển thị khi tag gán vào hình có giá trị “False”.

NSString *imageName1: tên hình sẽ được hiển thị thứ 1 khi ở chế độ Animation, tương tự tiếp theo cho các tên hình phía dưới.

NSString *imageName2;

NSString *imageName3;

NSString *imageName4;

NSString *decription: mô tả là hình đã được xóa chưa. Nếu xoá rồi sẽ không được cập nhật vào cơ sở dữ liệu.

Bước 2: trong giao diện Runtime tạo tool khi chạm vào nó sẽ tạo ra một đối tượng Image

tuy nhiên khác với các đối tượng khác là sẽ không tạo ngay ra một đối tượng mặc định mà sẽ hiển thị lên một trang để người dùng có tuỳ chọn theo ý mình thuộc tính của Image. Đoạn code để hiện thị trang lên khi có thao tác Tap (chạm) vào thì cũng giống như các đối tượng khác nên sẽ không được trình bày tại đây. Trong bước này sẽ nói sâu vào phần tạo ra được giao diện trang phụ này.

Ta gọi trang này là Design Image View (trang phục vụ thiết kế Image). Giao diện của trang như sau.

Page 53

Hình 5-18 Giao diện chọn Image

 Segment để chọn chế độ hoạt động cho Image.

Hình 5-19 Segment chọn Fucntion cho Image

 PickerView để chọn thư viện hình ảnh.

 CollectionView để hiển thị và cho phép người dùng chọn hình.

Hình 5-20 Giao diện thư viện Image

Page 54

Hình 5-21 Giao diện hiển thị hình ảnh đã chọn Các bước xử lý các đối tượng:

 Thư viện hình ảnh:

o Để quản lý thư viện hình ta tạo một class ImageLibrary gồm có 2 thuộc tính là name và imageName. Với name là tên của thư viện, imageName là mảng quản lý tất cả tên của các hình ảnh có trong thư viện (thường hình ảnh sẽ có cùng tên với thư viện kèm theo hâu tố là số thứ tự).

o Tên của thư viện hình sẽ được hiển thị trên PickerView, muốn làm được điều đó ta cần phải có mảng chứa tên của tất cả thư viện hình ảnh. Thứ tự tên hiển thị sẽ giống với thứ tự trong mảng.

o Khi hàng nào của PickerView được chọn sẽ trả về một hàm ngắt là :"-(void) pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component" Với row là số thứ tự của cột được chọn trả về. Với thứ tự đó tham chiếu qua sẽ là tên của thư viện được chọn, cập nhật dữ liệu trên collectionView bằng thư viện hình ảnh ứng với tên thư viện được chọn bằng hàm : "[yourCollectionViewObject

updateViewConstraintsWithImageLibrary:yourImageNameArray]".

 Chế độ hoạt động của image:

o Khi người dùng chọn chế độ hoạt động trên Segment sẽ trả về hàm ngắt: "-

(IBAction)segment_Touch:(id)sender" với hàm này ta sẽ kiểm tra được

segment nào vừa được chọn nhờ vào sender trả về (if (sender == yourSegmentName) => do something). Tại đây kiểm tra xem segment được chọn ở vị trí nào (thuộc tính

yourSegmentName.selectedSegmentIndex, ứng với vị trí đó sẽ gán cho image với chế độ hoạt động tương ứng, và số lượng imageChoseView hiển thị các hình ảnh được người dùng chọn cũng sẽ thay đổi phụ thuộc vào chế độ hoạt động của image.

 Chọn hình:

o Khi người dùng chạm vào hình trên CollectionView sẽ trả về một phương thức ngắt “- (void) collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath dựa vào đối số indexPath” ta có thể xác định được vị trí của đối tượng hình vừa được chọn (indexPath.item). Nếu đối tượng hình đó được chọn 2 lần liên tiếp sẽ set cho imageChoseView hiển thị hình ảnh được chọn và gán thuộc tính tên hình ảnh cho đối tượng hình ảnh được tạo. Tuỳ vào chế độ hoạt động mà số

Page 55

lượng hình được chọn là khác nhau và tên sẽ được gán vào thuộc tính khác nhau.

o Phương thức gán tên hình ảnh được chọn vào thuộc tính của đối tượng hình ảnh kết quả và hiển thị hình ảnh được chọn lên imageChoseView :"- (void) collectionViewController:(CollectionViewController *)collectionView imageName:(NSString *)imageName". Phương thức này được trả về từ class CollectionViewCotroller khi một hình ảnh được chọn, đối số trả về là tên của hình vừa được chọn.

Bước 3: Cho phép người dùng thay đổi thuộc tính của đối tượng đã tạo ra.

Bước này cũng tương tự như nhưng đối tượng khác, cũng phát hiện thao tác chạm vào đối tượng khi RunTimeForm đang ở chế độ "Stop", khi đó sẽ hiển thị lên giao diện sửa chữa cũng là giao diện thiết kế. Và đối tượng trả về chính là đối tượng đã được đưa vào giao diện trước đó.

Một phần của tài liệu Xây dựng công cụ cho phép thiết kế ứng dụng SCADA vừa và nhỏ trên nền iOS (Trang 62 - 65)

Tải bản đầy đủ (PDF)

(145 trang)