問題タブ [ibdesignable]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - IBDesignable がプログラム UI 要素を表示しない
UIViewController から継承するカスタム ViewController クラスをViewControllerRootHomeCenter
作成し、チェックボックスをオンにして付随する XIB ファイルを作成しました。File's Owner
Custom Class 属性をに設定しましたViewControllerRootHomeCenter
。次に、viewDidLoad メソッドでいくつかの UI 要素を作成して、それらがデバイスにロードされているかどうかを確認し、実際に画面に表示されているシミュレーターを作成しました。次に、ステートメントの上ViewControllerRootHomeCenter.h
に設定したファイルで。ただし、XIB は UI 要素のない白い画面を表示しています。IB_DESIGNABLE
@interface ViewControllerRootHomeCenter
ios - カテゴリ/拡張機能を使用して IBDesignable プロパティを UIView に追加できますか?
何を言っているのかわからない人のために説明すると、Xcode 6.0 には新しい機能 IBDesignable と IBInspectable が追加されました。
カスタム ビューに IBInspectable プロパティのタグを付けると、それらのプロパティが IB の属性インスペクターに表示されます。
同様に、カスタム UIView サブクラスに IBDesignable のタグを付けると、Xcode はビューをコンパイルし、コードを呼び出してビュー オブジェクトを Xcode ウィンドウで直接レンダリングするので、それらがどのように見えるかを確認できます。
IBDesignable および IBInspectable 属性をカスタム ビューに追加する手法は、Swift と Objective-C でほとんど同じです。IBInspectable プロパティは、定義に使用する言語に関係なく、Interface Builder Attributes Inspector に表示されます。
Objective-C で UIView のカテゴリを作成し、Swift で UIView の拡張を作成しました。これらは、ビューの基本レイヤーの borderWidth、cornerRadius、borderColor、および layerBackgroundColor プロパティをビューのプロパティとして昇格させます。プロパティを変更すると、拡張子/カテゴリは必要に応じて型変換を行い、変更をレイヤーに転送します。
IBInspectable 部分はうまく機能します。IB 属性インスペクタに新しいプロパティが表示され、設定できます。
先週、ビュー カテゴリ/拡張機能の IBDesignable 属性も機能しており、変更されたレイヤー属性を使用してカスタム UIView カテゴリが IB でレンダリングされていることを確認できました。今週は機能していません。
私は幻覚でしたか?
既存のシステム クラスのカテゴリ/拡張は、IBDesignable でセットアップされている場合、Interface Builder でカスタム UI を描画できますか?
ios - IBDesignable でのカスタム コントロールのフレームワークからのコードのロード
正常に動作する OS X アプリケーションにカスタム コントロールを実装しました。コントロールが描画されると、非システム フレームワークのコードが使用されます。コントロールは迅速に書かれており、フレームワークはObjective-Cです。フレームワークは、カスタム コントロールを持つアプリケーションと同じプロジェクトまたはワークスペースに構築されていません。フレームワークをターゲットに追加し、それをコピー ファイル ビルド フェーズに追加しました。
Swift で IBDesignable 装飾をカスタム コントロール クラスに追加すると、Interface Builder でコントロールを表示しようとするとエラーが発生します。私が得るエラーは次のとおりです。
file:///Users/ktam/github/MovingImagesDemo/Spinner2/SpinnerController.xib: error: IB Designables: Failed to render instance of Spinner:
dlopen(Spinner2.app, 1): Library not loaded: @executable_path/../Frameworks/MovingImages.framework/Versions/A/MovingImages
Referenced from: Spinner2.app
Reason: image not found
IBDesignables サブフォルダーに作成されたアプリケーション バンドルを確認すると、フレームワークはアプリケーション バンドル内の正しい場所にあります。この場合、実際に実行されている実行可能ファイルは IBDesignables アプリケーション バンドルのものではなく、フレームワーク イメージをロードできない理由を説明するある種の Interface Builder 実行可能ファイルであると想定しています。
Interface Builder が IBDesignable でビューをレンダリングするときに見つけることができるコードをロードするには、何をする必要がありますか?
さらにテストした後の情報:
インストール ディレクトリを ~/Library/Frameworks に指定してフレームワークを再構築し、ビルドしたフレームワークをその場所にコピーしました。次に、実行パスの検索パスに ~/Library/Frameworks とアプリケーションとインターフェイスの両方が含まれるようにアプリケーション ターゲットを更新しました。 Builder はカスタム コントロールを正しく描画するようになりました。
これは私が必要とする解決策ではありませんが、問題が何であるかを示しています。適切な修正が何であるかを理解する必要があります.
ios - IBDesignable ビューのレンダリング
私はこの画像のようなカスタムビューを持っていましたが、それは機能します( drawRectで設定したテキストフォントとテキストカラー)
+********************+
*テキスト 01 画像*
*テキスト 02 _______ *
+********************+
Interface Buildeからフォントと色を設定したいのですが、エラーが発生します:
IB Designables: AvailableSeatView のインスタンスのレンダリングに失敗しました: ビューのレンダリングに 200 ミリ秒以上かかりました。描画コードのパフォーマンスが低下する可能性があります。
ここに私のコード:
AvailableSeatView.h 内
AvailableSeatView.m 内
Google で検索した後、次の投稿を見つけ ました。
ios - IB_DESIGNABLE ティントカラーの問題
IB_DESIGNABLE に取り掛かっていますが、問題に遭遇しました。
IB でカスタム ビューの tintColor を設定すると、IB で正しい方法でレンダリングされます。
しかし、デバイスで実行すると、デフォルトの tintColor で表示されます。
違いは何ですか?デバイスではデフォルトの色合いで表示され、IB では正しく表示されるのはなぜですか?
アップデート:
ios - Interface Builder でコードが実行されているかどうかを確認する
IBDesignable
Interface Builderでクラッシュを引き起こすいくつかのことを行うカスタムクラスがswiftにあります。インターフェイスビルダーで実行しているかどうかを確認できるフラグはありますか? 理想的には、プリコンパイラ ディレクティブ (#ifdef COMPILED_FOR_INTERFACE_BUILDER
またはそのようなもの) になります。自分でフラグを設定できるのではないかと思いましprepareForInterfaceBuilder()
たが、その関数が呼び出される前にクラスプロパティが設定されているように見え、問題を引き起こすコードをトリガーする可能性があるため、それは面倒で確実に機能しないようです。もっと良い方法があるに違いないようです。ありがとう!
ios - IOS。IBDesignable 制約を削除
プロジェクトでサードパーティのロック画面JKLlockscreenを使用しています。ロック画面は IBDesignable 制約を使用します。しかし、設定するとiphone 4の画面などに完全に収まりません。さらに、ストーリーボードでこのようなエラーが発生します。
file:///Users/usersname/Desktop/untitled%20folder/projectname/LockScreenViewController/JKLLockScreenViewController.xib: エラー: IB Designables: JKLLockScreenNumber のインスタンスのレンダリングに失敗しました: dlopen(projectname.app, 1): 適切な画像が見つかりません。見つかりました: projectname.app: mach-o、しかし間違ったアーキテクチャ
このIBDesignable スタックオーバーフローの質問のレンダリングに失敗しました で、このエラーの解決策を見つけました。しかし、私はこの問題を解決できません。
そのため、この IBDesignables Constrain を削除して、独自の制約を設定したいと考えています。この制約をクリアするにはどうすればよいですか?