2012-09-28 30 views
14

Có cách nào để làm điều đó không? Tôi muốn không chỉ thiết lập Class Identity nhưng thay đổi lớp được thiết kế (vì vậy các thuộc tính đối tượng nên thay đổi).Trình tạo giao diện XCode: Thay đổi lớp đối tượng đã được đặt

Lý do là tôi đặt UIView và nhiều phụ đề. Bây giờ tôi muốn đổi nó thành UITableViewCell. Có lẽ nó có thể được thực hiện bằng cách 'hack' xib tập tin?

Trả lời

13

Thật không may, thật đáng buồn, không có cách nào để thực hiện điều này trong InterfaceBuilder (mà tôi đã tìm thấy). Thay đổi Lớp tùy chỉnh chỉ thêm lớp tùy chỉnh vào UIView, thay vì thay đổi UIView thành lớp bạn muốn (ví dụ: UITableViewCell), mang theo tất cả các thuộc tính mà chế độ xem mong muốn của bạn có thể có. Bạn có thể thấy điều này trong tệp XML của bảng phân cảnh.

Bạn muốn, nói, này:

<label text="Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" ... id="Flb-Qd-jpJ"> ... </label> 

và không này:

<view ... id="Flb-Qd-jpJ" customClass="UILabel"> ... </view> 

nhưng Xcode chỉ đem lại cho bạn sau này; nó đang cập nhật thuộc tính customClass của chế độ xem thay vì cập nhật toàn bộ phần tử.

Nếu bạn muốn trước, bạn vẫn có thể nhận được nó, nhưng bạn phải tự mình chỉnh sửa tệp xml, giữ nguyên id của phần tử đó. Đây là một bài viết trên blog tuyệt vời giải thích chi tiết hơn về điều này: http://codenetwaves.blogspot.com.br/2012/09/change-view-to-scrollview-in-xcode.html

+0

Ngoài ra, cần lưu ý rằng đây là bản sao của câu hỏi được hỏi tại đây: http: // stackoverflow .com/questions/10724488/update-uiview-class-in-giao diện-builder – lillialexis

+0

Nó là an toàn hơn nhiều để sử dụng phương pháp này tôi nghĩ: http://stackoverflow.com/a/36573454/1366265 – user1366265

-1

Trong trình tạo giao diện, bạn sẽ mở tab thứ ba và tìm Lớp tùy chỉnh. Ở đó bạn có thể thay đổi UIView thành UITiewViewCell

+1

Trường này xác định lớp tùy chỉnh trong mã. Nó không ảnh hưởng đến các thuộc tính đối tượng trong Interface Builder. – brigadir

+0

sau đó bạn có thể tăng kích thước nội dung của cửa sổ, tạo tableviewcell và kéo tất cả các đối tượng trong khung nhìn vào trong tableviewcell –

Các vấn đề liên quan