Bạn muốn ứng dụng có dãy đèn nhấp nháy
để trang trí, nhìn cho vui mắt, ta sẽ làm thế nào ?
Hãy chuẩn bị các ảnh màu hình tròn giống
hệt nhau, chỉ khác nhau màu sắc ở giữa.
Kéo các ảnh vào cột thư mục bên trái ứng
dụng, cứ để ngay ngoài cho dễ nhìn.
Các ảnh có kích thước y như nhau, chỉ
khác màu, khi ta thay đổi chúng sẽ tạo ra hiệu ứng giống như đang nhấp nháy.
Khai báo lên trên viewDidLoad
let im1 = UIImage(named: "l1");
let im2 = UIImage(named: "l2");
let im3 = UIImage(named: "l3");
let im4 = UIImage(named: "l1");
let im5 = UIImage(named: "l2")
var ima1: UIImageView!
var ima2: UIImageView!
var ima3: UIImageView!
var ima4: UIImageView!;
var ima5: UIImageView!;
var count=1
Ta khai báo các image, cùng imageview,
tạo một biến đếm ngược để dùng.
Định vị, gắn ảnh, nhét vào view trong
viewDidLoad
ima1 = UIImageView(frame: CGRect(x: le, y: 520, width: 40, height: 40))
ima2 = UIImageView(frame: CGRect(x: le+45, y: 520, width: 40, height: 40))
ima3 = UIImageView(frame: CGRect(x: le+90, y: 520, width: 40, height: 40))
ima4 = UIImageView(frame: CGRect(x: le+135, y: 520, width: 40, height: 40))
ima5 = UIImageView(frame: CGRect(x: le+180, y: 520, width: 40, height: 40))
ima1.image = im1
ima2.image = im2
ima3.image = im3
ima4.image = im4
ima5.image = im5
view.addSubview(ima1)
view.addSubview(ima2)
view.addSubview(ima3)
view.addSubview(ima4)
view.addSubview(ima5)
Biến le tức là để căn cho dãy ảnh vào
giữa. Ta lấy chiều rộng màn hình bằng lệnh.
let r = UIScreen.mainScreen().bounds.size.width
Sau đó đã biết dãy ảnh rộng 220, ta trừ
đi rồi chia 2 là được lề cần có.
let le = (Int(r) - 220)/2
Copy hàm sau xuống trên ngoặc đóng cuối
cùng.
func update(){
count = count + 1
if count%3==1{
ima1.image = im1
ima2.image = im2
ima3.image = im3
ima4.image = im4
ima5.image = im5
}
else if count%3==2{
ima1.image = im2
ima2.image = im3
ima3.image = im4
ima4.image = im5
ima5.image = im1
}
else{
ima1.image = im3
ima2.image = im4
ima3.image = im5
ima4.image = im1
ima5.image = im2
}
}
Cuối cùng, cho dòng sau vào trong
viewDidLoad.
let time=NSTimer.scheduledTimerWithTimeInterval(1.0, target:self, selector: "update",userInfo: nil, repeats: true)
Ta gọi hàm update trong thời gian thực
và cứ mỗi một giây lại cộng thêm 1 vào biến đếm count. Ta
thay đổi ảnh theo thời gian, có ba pha ảnh, cứ 1, 2, 3 giây lại có ảnh thay đổi,
ta chia thời gian cho 3 lấy số dư để xác định.
Giả sử có 5 ảnh, ta sẽ
chia cho 5, lấy thành 5 pha cho vào lệnh if.
Sự thay đổi ảnh này tạo ra hiệu ứng giống như
đang nhấp nháy, dùng để trang trí.
No comments:
Post a Comment