Tôi đang viết một lớp con UIView sử dụng cả IBInspectable và IBDesignable. Tôi không làm bất cứ điều gì bất thường, nhưng phân lớp của tôi gây ra Xcode 6.2 để không ngừng xây dựng lại dự án. Nhận dạng Inspector của tôi cho thấy dao động này nhà nước dưới tiêu đề 'Designables':Chế độ xem có thể thiết kế lại của IB khiến cho việc xây dựng lại bất tận
Mỗi lần khởi động lại xây dựng, thanh tra mất tập trung. Điều này gây khó khăn cho việc chỉnh sửa bất kỳ thứ gì từ IB, điều này đánh bại mục đích viết lớp này ngay từ đầu.
Đây là việc thực hiện DesignableTestView tôi:
import UIKit
@IBDesignable class DesignableTestView: UIView {
@IBInspectable var testBackground:UIColor? {
didSet {
if testBackground != nil {
self.backgroundColor = testBackground
}
}
}
}
Có cách nào để thay đổi mã hoặc cài đặt của Xcode của tôi để ngăn chặn việc xây dựng lại liên tục?
Tại sao thiết kế có thể ở trong khung riêng biệt? – orkenstein
Họ không rõ ràng lý do tại sao, nhưng trong video giới thiệu WWDC, Apple đã rõ ràng về sự cần thiết phải làm như vậy. Tôi nghi ngờ rằng đó là mục đích thực dụng (nó phải xây dựng mục tiêu để chạy trong IB, và trạng thái của mục tiêu chính của bạn có thể không được xây dựng và/hoặc có thể quá đắt đối với việc sử dụng IB). Thử nghiệm, tôi đã thử nghiệm nó và nó dường như hoạt động bất kể mục tiêu của nó là gì, nhưng Apple khuyên một mục tiêu riêng biệt. – Rob
Điều đó có thể được yêu cầu, vì thời gian xây dựng và các vấn đề đúng. Bây giờ tôi bị mắc kẹt với việc xây dựng lại storyboard không ngừng. Tôi nghi ngờ nhiều mục tiêu là vấn đề. Đầu ra của Trình tạo IB chi tiết hơn sẽ rất tuyệt vời. – orkenstein