問題タブ [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.

0 投票する
0 に答える
365 参照

ios - プログラムによるUIButtonの背景色

@IBDesignable背景色を白に設定し、部分的に低いアルファを使用して、一連の「半透明」UI 要素を作成しました。

これは機能しますUIViewUIButton、背景はクリアのままで、テキストの色は実行時に白として正しく表示されますが、Xcode (IB) ではデフォルトの青として表示されます。

ここで何が間違っていますか?で機能する場合UIView、同じコードが で機能しない理由がわかりませんUIButton

0 投票する
1 に答える
1356 参照

ios - Swift の IBDesignable と複数のターゲット

IBDesignableには、複数のターゲットと迅速なモジュールに問題があるようです。新しいターゲットを追加した後 (私のアプリには、販売者購入者などの 2 つのターゲットがあります)、StoryBoardはビューの構築を停止し始め、警告が表示されました。

どうやら、designables コンパイラが適切な *swift** モジュールを見つけられなかったようです。
これを修正する方法はありますか?

写真:

ここに画像の説明を入力

Xcode 7.0.1Swift2を使用しています

0 投票する
1 に答える
1006 参照

xcode - 以前にレンダリングされた IBDesignable がストーリーボードの「更新中」でハングする

  • Xcode 7.0.1 (7A1001)
  • iOS 9.0

drawRect 関数のみを実装して、カスタム @IBDesignable UIView を作成しました。そのようです:

この drawRect を書いている間、View Controller でのこのレンダリングのいくつかの異なるインスタンスを含むストーリーボードがありました。drawRect に変更を加えて保存すると、これらの変更はほぼリアルタイムでストーリーボードに反映されます。列挙型を変更し、それに応じて別の方法で描画できる IBInspectable String さえありました。ビューはストーリーボードでサイズ変更でき、新しい幅と高さは描画コードで考慮され、描画は意図したとおりに拡大縮小および変換されます。

これはすべて正常に機能し、その UIView サブクラスに変更を加えていませんでしたが、実際にこのカスタム ビューを使用することになる新しいビューを構築しているときに、ストーリーボードのテスト ビューを削除しました。

制約をいろいろ試した後、カスタム ビューを適切な場所に配置する準備が整いました。しかし、うまくいきません。ID インスペクタがカスタム クラスを IBDesignable として認識している間、「更新中」ステータスでハングします。

カスタム uiview ibdesignable の ID インスペクタ

私が狂っていないことを証明するために、単純な drawRects または完全に空の drawRects を実装する、まったく新しい @IBDesignable UIView サブクラスを作成しました。これらは現在同じ問題を抱えており、ストーリーボードにレンダリングされていません。

これをシミュレーターで実行できることに注意してください。描画は実行時に期待どおりに表示されます。では、IBDesignable に期待する素晴らしいフィードバックを提供するストーリーボードの機能はどうなったのでしょうか?

私が試したこと:

  • クリーン/クリーン ビルド フォルダー/XCode Derived Data ディレクトリのクリア
  • XCode の再起動
  • drawRect ガッツの削除・コメントアウト
  • HelloWorld のようなチュートリアルで最もシンプルな @IBDesignables を作成する
  • 既存の既知の作業 @IBDesignables を使用する
  • ストーリーボードに新しい UIViewController を作成してカスタム ビューを配置する
  • トグル: エディター > ビューを自動的に更新
  • エディター > すべてのビューを更新
  • エディター > 選択したビューのデバッグ

これらの試みはすべて、ID インスペクタのカスタム クラス セクションに「更新中」と表示され続けます。

明らかに、私の実装を超えた何かがここで問題を引き起こしています。他にこの問題を抱えている人はいますか?誰かが私を正しい方向に向けることができますか? 他に何を試すべきかわからない。

0 投票する
1 に答える
182 参照

ios - 別のプロパティの数が増えると、より多くのプロパティを生成します

基本的に、私はその中に無制限の量の UIView を持つことができるビューを持っています。self.numberOfSections = 8私は、設定したりself.numberOfSections = 2、同じ数をそれぞれ生成したりして、操作できるようにしたいと考えていUIImagesます。

IBInspectible現在、2 つの numberOfSections または 100 numberOfSections がある場合でも、コードに多くの画像が表示されます。UIImagesどうにかして numberOfSections 番号に基づいて作成できるようにしたいと思います。

ロータリーホイールビュー

storyBoardInspect

ここで Number Of Sections を 2 に設定すると、ストーリー ボードに画像を設定できますが、他のすべての IBInspectable 要素も表示され、セクションが 2 つしかないため使用されません。必要なものだけを表示する方法はありますか? ストーリーボードに画像を設定したい。非常に多くの IBInspectables を持たないように、これをリファクタリングする方法はありますか?

これは、コードでプログラムによって生成されたさまざまなビューに画像を設定する方法です。

0 投票する
4 に答える
4421 参照

swift - @IBDesignable - @IBInspectable、キー値コーディングに準拠していないクラス

@IBDesignable クラスを使用しているときに、奇妙な再現可能なエラーが突然発生しました。@IBInspectable プロパティは次の警告を出しています。

Main.storyboard: 警告: IB Designables: "UIButton" のインスタンスのキー パス "test" に対するユーザー定義のランタイム属性を無視します。値を設定しようとすると例外が発生します: [ setValue:forUndefinedKey:]: このクラスは、キー テストのキー値コーディングに準拠していません。

明確にするために、この警告は Xcode のみの問題であり、問​​題なくパッケージ化されています。それでも迷惑!

再現する手順

  1. 新しいプロジェクトを作成
  2. @IBInspectable String プロパティを使用して、カスタム @IBDesignable UIButton サブクラスを作成します。

    1. Button をストーリーボードの View Controller にドラッグし、Identity Inspector でカスタム クラス "TempButton" を指定します。
    2. これで、「Temp Button」プロパティの属性インスペクターに「Test」属性が表示されます。このフィールドに何かを入力します。
    3. バム!上記の警告が表示されます。フィールドからテキストを削除すると、警告が消えます。

私はいくつかの解決策を試しました-異なる変数名、「テスト」プロパティをオプションにする、初期化子を使用する、これまでのところ運がありません。

問題のスクリーン キャプチャを次に示します。

ここに画像の説明を入力

0 投票する
1 に答える
505 参照

xcode - @IBDesignable カスタム クラスを割り当てると、ストーリーボード UIView の背景色が消える

再現する手順:

  1. MyIcon以下のようなクラスを作成します。

  2. UIView をストーリーボード (背景は白) にドラッグします。

  3. UIView のカスタム クラスをMyIcon;に設定します。と

  4. 背景色が消えます。

MyIcon.swift:

白い背景色の損失の証拠については、以下のストーリーボードのスクリーンショットを参照してください。

ここに画像の説明を入力

0 投票する
0 に答える
1510 参照

ios - IB Designables: 自動レイアウト ステータスの更新に失敗しました: エージェントが「NSInternalInconsistencyException」例外を発生させました: バンドルに NIB を読み込めませんでした

私はxibからstroyboard create previewを使用していますが、次のエラーが発生しました:

コード:

File's OwnerクラスではなくクラスごとのXibロードUIView、オンiOS8は正常、iOS7エラー

エラー パス:

1.プロジェクトのターゲットを に変更しiOS7ます。

2.Xcodeを終了します。

3.DerivedData フォルダーを消去します。

4.プロジェクトを開きます。

5.選択さMain.storyboardれ、プレビューが表示されます。

これはデモです