Tôi đã tò mò về cách tạo một lớp tùy chỉnh cho một phần tử giao diện người dùng (ví dụ, một nút)?Tùy chỉnh lớp UIButton swift
Tôi đã đọc tài liệu phát triển của Apple và tôi làm theo hướng dẫn, những gì tôi nghĩ là tạo một tệp lớp UIButton riêng biệt và liên kết tệp lớp đó cho tất cả các nút trên bảng phân cảnh.
Dưới đây là mã lớp UIButton riêng biệt (file có tên buttonz.swift):
import UIKit
public class buttonz: UIButton {
required public init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.layer.borderWidth = 1
self.backgroundColor = UIColor.whiteColor()
self.layer.borderColor = UIColor.blackColor().CGColor
}
}
Và trên kịch bản, tôi liên kết nút đó cụ thể cho các lớp UIButton mới:
Vấn đề là khi tôi chạy trình mô phỏng, nó cho tôi lỗi trong bảng điều khiển debig:
lớp này không phải là khóa mã hóa tuân thủ giá trị cho khóa aButton
Tôi nghĩ quy trình này đơn giản trong hướng dẫn nhưng tôi có thiếu thêm bất kỳ bước nào không? Xin vui lòng cho tôi biết, cảm ơn!
Để tham khảo, đây là liên kết tới tài liệu Apple mà tôi đã sử dụng làm hướng dẫn.
Sửa 1 - Đây là liên kết hành động cho viewcontroller.swift cho bộ điều khiển xem. Tôi chỉ ctrl + kéo nút từ bảng câu chuyện vào viewcontroller.swift.
@IBAction func a(sender: AnyObject) {
var alertView = UIAlertView();
alertView.addButtonWithTitle("Ok");
alertView.title = "title";
alertView.message = "message";
alertView.show();
}
Bạn đã cố gắng hooking lên một lối thoát để một lớp học trong xây dựng giao diện và gọi nó 'aButton', tuy nhiên lớp bạn đã thử móc nó lên để không có tài sản đó. – nhgrif
bạn có tạo một lớp điều khiển tùy chỉnh với thuộc tính 'aButton' không? bạn sẽ cần phải thiết lập lớp điều khiển xem của bạn quá tôi nghĩ. – nielsbot
cố gắng loại bỏ công cụ sửa đổi 'công khai'. –