2014-10-20 16 views
5

IBDesignable ile Arabirim Oluşturucusu'nda düzgün bir şekilde oluşturmak için UITextField alt sınıfını almaya çalışırken sorunlarım var. Alt sınıf oldukça basittir, kullanıcının UITextField numaralı telefondaki metin yerleşimi için insets tanımlamasını sağlar. kod aşağıdaki gibidir: film şeridindeki bu sınıfı kullanırken Arabirim Oluşturucu'da özel UITextField alt sınıfını oluşturmayla ilgili hatalar

import Foundation 

@IBDesignable public class CLYInsetTextField: UITextField { 

    @IBInspectable public var topInset: CGFloat = 0 { 
     didSet { 
      self.setNeedsDisplay() 
     } 
    } 
    @IBInspectable public var leftInset: CGFloat = 0 { 
     didSet { 
      self.setNeedsDisplay() 
     } 
    } 
    @IBInspectable public var bottomInset: CGFloat = 0 { 
     didSet { 
      self.setNeedsDisplay() 
     } 
    } 
    @IBInspectable public var rightInset: CGFloat = 0 { 
     didSet { 
      self.setNeedsDisplay() 
     } 
    } 

    override public func textRectForBounds(bounds: CGRect) -> CGRect { 
     return UIEdgeInsetsInsetRect(bounds, UIEdgeInsetsMake(topInset, leftInset, bottomInset, rightInset)) 
    } 

    override public func editingRectForBounds(bounds: CGRect) -> CGRect { 
     return UIEdgeInsetsInsetRect(bounds, UIEdgeInsetsMake(topInset, leftInset, bottomInset, rightInset)) 
    } 
} 

, özellikleri IB tamamen normal görünür ama değerlerinden biri güncelleştirmeye çalıştığınızda, Xcode projesini inşa

ve aşağıdaki tükürür iki uyarılar:

error: IB Designables: Failed to update auto layout status: dlopen([APP_NAME].app, 1): no suitable image found. Did find: 
[APP_NAME].app: can't map unslidable segment __TEXT to 0x100000000 with size 0x7EB000 

error: IB Designables: Failed to render instance of CLYInsetTextField: dlopen([APP_NAME].app, 1): no suitable image found. Did find: 
[APP_NAME].app: can't map unslidable segment __TEXT to 0x100000000 with size 0x7EB000 

Ben oluşturmak ve sadece iyi simülatör yürütüyorum ve görünümü oluşturulur yaptığımda o beklediğiniz gibi olabilir. Sadece IB’de bu konuya karşı çıkmaya çalıştığım zaman. Interface Builder'da etkileşimli özel görünümler yapmak için gördüğüm diğer örnekler, benimki kadar basit gibi görünüyor ve sorunsuz çalışıyor. Kaybettiğim bir adım var mı, yoksa yapmaya çalıştığım şey, işe gitmiyor mu?

cevap

İlgili konular